bhyve Bhyve graphical control panel

Hi,
I use FreeBSD since many years now but I'm new to bhyve.
I search a graphical interface like you can have with vsphere or virtualbox.
I know there are some of these like bvcp but I dont know witch are the interesting ones.
Before else I'm a vsphere admin so the closer to vsphere hmtl interface the better.
What advice can you give ?
On an other side is there any way to do live migration with bhyve ?
I guess cold migrations should be easy to do with zfs snapshots.
 
cbsd seems to be a cli/curses tool but ClonOS has some graphical interface.
But ... all of this seems to be "made in russia" for the most part of it and nowdays it's not really a good point.
 
sysutils/cbsd seems quite popular (never used it myself). Description only mentions jails but it can handle bhyve too.
I've been using sysutils/cbsd for many years. I evaluated several different solutions but cbsd stood out. Of course, it depends on your requirements/situation but personally it ticks all the boxes on my ends. YMMV.
It can also do Xen and QEMU, not just bhyve.
Ole is involved and he has been quite a good helper.
As far as I know he's not just involved but rather the original author and main developer. Great guy. Very quick on answering questions, fixing bugs and implementing new features.

To actually answer OP's question: I came across BVCP quite a while ago but never tried it: https://bhyve.npulse.net/
As you already mentioned this yourself I'd recommend to just give it a try. I might recall this incorrectly but I think for me the deal breaker was that at least one component was a closed source proprietary binary blob.

But back to cbsd 👿
Really, it ticks pretty much all the boxes. It works very well in simple scenarios from running on a laptop up to having large(r) multi-node clusters with migration across nodes and everything.
The more I start(ed) using GUIs, the more I came to understand that for these types of systems you really don't want a GUI. Either the system is dead simple (i.e. very small interface) which makes a GUI kinda useless to begin with or the system is larger complex in which case a GUI is either going to be complex too or just not offering the same power/flexibility of a good TUI.
 
cbsd seems to be a cli/curses tool but ClonOS has some graphical interface.
But ... all of this seems to be "made in russia" for the most part of it and nowdays it's not really a good point.

why ? the russian programmers are not the same thing as the russian politicians. This is a senseless form of discrimination. We should be focused against the wars and who wants them,not against the russians tennis players or the programmers. I am amazed at the position you have taken. I have always considered the USA as a mature democracy, so the place where you don't distance yourself even from the people who honestly do their job and maybe many of them are even against wars.
 
Sure, like I say in the first post I'm looking to bvcp but I wanted to know if there is something else to look at.
And I have nothing against russian people guys, my best friend is russian (but not living there).
 
With the help of a lot of good freebsd experienced users I have created my own bhyve scripts,so I don't need to use some kind of web interface,unless it is exacty as I want.
 
Last edited:
I can't install it (I'm running 14.1-RELEASE-p4) :

Code:
==> pkg install py39-qt5

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
pkg: No packages available to install matching 'py39-qt5' have been found in the repositories

==> pkg search py39

py39-blist-1.3.6_1             Drop-in list replacement with better performance for large lists
py39-build-1.2.2_1             PEP517 package builder
py39-ctags-1.0.5_2             Python bindings for ctags index file
py39-cython-0.29.37_1          Compiler for Writing C Extensions for the Python Language
py39-cython3-3.0.11            Compiler for Writing C Extensions for the Python Language
py39-firebirdsql-1.1.4         Python DBAPI module for FirebirdSQL
py39-flit-core-3.9.0           Distribution-building parts of Flit
py39-gdbm-3.9.20_7             Python bindings to the GNU dbm library (Python 3.9)
py39-installer-0.7.0           Library for installing Python wheels
py39-numpy-1.26.4_2,1          The New Numeric Extension to Python
py39-packaging-24.1            Core utilities for Python packages
py39-pyjq-2.4.0                Python binding for jq
py39-pyproject-hooks-1.1.0_1   Wrappers to call pyproject.toml-based build backend hooks
py39-pyproject_hooks-1.1.0_1   Wrappers to call pyproject.toml-based build backend hooks
py39-setuptools-63.1.0_1       Python packages installer
py39-sqlite3-3.9.20_7          Standard Python binding to the SQLite3 library (Python 3.9)
py39-tkinter-3.9.20_7          Python bindings to the Tk widget set (Python 3.9)
py39-tomli-2.0.2               Lil' TOML parser
py39-wheel-0.44.0              Built-package format for Python

==> find /usr/ports -name py39-qt5
Nothing.
 
AFAIK, the author focuses on cirrina's development which is very active.
Cirrina works very well.

I don't have any GUI access at the moment furthermore I use exclusively CLI apps for my VMs so I can't provide any screenshots, sorry Cath.

For information, the author (Steve Wills) is a long time port committer and is very active in the FBSD community.
Time to time, he streams live coding cirrina on Twitch.
 
Code:
==>  pkg delete python39
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 125 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
    py39-Babel: 2.14.0
    py39-CommonMark: 0.9.1_1
    py39-Jinja2: 3.1.3
    py39-PyOpenGL: 3.1.7
    py39-PyOpenGL-accelerate: 3.1.7
    py39-SecretStorage: 3.3.1
    py39-absl-py: 2.1.0_1
    py39-alabaster: 0.7.16
    py39-anyio: 4.3.0
    py39-astunparse: 1.6.3_1
    py39-async_generator: 1.10
    py39-attrs: 23.2.0
    py39-bcrypt: 3.2.2_1
    py39-beautifulsoup: 4.12.3
    py39-bencode.py: 4.0.0
    py39-brotli: 1.1.0
    py39-build: 1.2.2_1
    py39-calver: 2022.6.26_1
    py39-certifi: 2024.2.2_1
    py39-cffi: 1.16.0
    py39-cryptography: 42.0.7,1
    py39-cython: 0.29.37_1
    py39-dbus: 1.3.2
    py39-docutils: 0.19,1
    py39-editables: 0.5
    py39-evdev: 1.7.0
    py39-exceptiongroup: 1.2.1
    py39-flatbuffers: 23.5.9_1
    py39-flit-core: 3.9.0
    py39-future: 0.18.3
    py39-gast: 0.5.4_1
    py39-gdbm: 3.9.20_7
    py39-google-pasta: 0.1.7_1
    py39-grpcio: 1.64.0
    py39-grpcio-tools: 1.64.0
    py39-h11: 0.14.0
    py39-h2: 4.1.0
    py39-h5py: 3.11.0
    py39-hatch-fancy-pypi-readme: 24.1.0
    py39-hatch-vcs: 0.4.0_1
    py39-hatchling: 1.24.2
    py39-hpack: 4.0.0
    py39-html5lib: 1.1
    py39-httpcore: 1.0.5
    py39-hyperframe: 6.0.0
    py39-idna: 3.7
    py39-imagesize: 1.4.1_1
    py39-importlib-metadata: 7.1.0
    py39-installer: 0.7.0
    py39-ipaddr: 2.2.0
    py39-isodate: 0.6.1_1
    py39-jeepney: 0.8.0_2
    py39-keras-preprocessing: 1.1.2_1
    py39-libvirt: 10.3.0
    py39-libxml2: 2.11.8_1
    py39-lxml: 4.9.3
    py39-lz4: 4.3.3
    py39-markupsafe: 2.1.5_1
    py39-netifaces: 0.11.0
    py39-numpy: 1.26.4_2,1
    py39-olefile: 0.46
    py39-openssl: 23.2.0,1
    py39-opt-einsum: 3.3.0_2
    py39-outcome: 1.3.0_1
    py39-packaging: 24.1
    py39-paramiko: 2.11.0_2
    py39-pathspec: 0.12.1
    py39-pillow: 10.3.0_1
    py39-pkgconfig: 1.5.5_2,1
    py39-pluggy: 1.5.0
    py39-ply: 3.11
    py39-poetry-core: 1.9.0
    py39-protobuf: 4.25.3_1,1
    py39-psutil: 5.9.8
    py39-pyasn1: 0.6.0
    py39-pycparser: 2.22
    py39-pycryptodomex: 3.20.0
    py39-pycups: 2.0.4
    py39-pygdbmi: 0.11.0.0_1
    py39-pyinotify: 0.9.6_1
    py39-pylsqpack: 0.3.18
    py39-pynacl: 1.5.0_1
    py39-pyparsing: 3.1.2
    py39-pyproject-hooks: 1.1.0_1
    py39-pysocks: 1.7.1_1
    py39-pystemmer: 2.0.1
    py39-pytz: 2024.1,1
    py39-pyudev: 0.24.1
    py39-random2: 1.0.1
    py39-rencode: 1.0.6_2
    py39-sentry-sdk: 1.21.1
    py39-setuptools: 63.1.0_1
    py39-setuptools-scm: 8.0.4
    py39-six: 1.16.0
    py39-smartypants: 2.0.1
    py39-sniffio: 1.3.1
    py39-snowballstemmer: 2.2.0_1
    py39-socksio: 1.0.0_1
    py39-sortedcontainers: 2.4.0
    py39-soupsieve: 2.0.1
    py39-sphinx_rtd_theme: 1.0.0
    py39-sphinxcontrib-applehelp: 1.0.2
    py39-sphinxcontrib-devhelp: 1.0.2
    py39-sphinxcontrib-htmlhelp: 2.0.0
    py39-sphinxcontrib-jsmath: 1.0.1
    py39-sphinxcontrib-qthelp: 1.0.3
    py39-sphinxcontrib-serializinghtml: 1.1.5
    py39-sqlite3: 3.9.20_7
    py39-termcolor: 2.4.0
    py39-tkinter: 3.9.20_7
    py39-toml: 0.10.2
    py39-tomli: 2.0.2
    py39-tomli-w: 1.0.0_2
    py39-trio: 0.25.1
    py39-trove-classifiers: 2024.5.17
    py39-typing-extensions: 4.11.0
    py39-typogrify: 2.0.7
    py39-urllib3: 1.26.18_1,1
    py39-webencodings: 0.5.1
    py39-websockets: 12.0
    py39-wheel: 0.44.0
    py39-wrapt: 1.16.0_1
    py39-xdg: 0.28
    py39-zipp: 3.19.0
    python39: 3.9.20

Number of packages to be removed: 125

This is a highly risky task. My system will break for sure.
 
Back
Top