C bhyve administration tool

Craig Rodrigues rodrigc at FreeBSD.org
Thu Nov 5 22:59:38 UTC 2015


Shawn,

Go forth and conquer and happy hacking!
It is quite clear that vmrun.sh, /usr/sbin/bhyve, /usr/sbin/bhyveload
are very simplistic and fall apart under more advanced usage.

It looks like there are many parallel efforts where people are writing
their own
scripts and utilities on top of bhyve.  At my previous job, I wrote a bunch
of
stuff in Python, and used a JSON config file to specify the properties of a
VM.
By using a JSON config file, I was able to specify more advanced topologies
of many VM's running together, including the network configuration, and
PCI-Passthru.

The unfortunate thing when people write these scripts is sometimes this
stuff is
internal, and people cannot collaborate.  Hopefully by having your stuff on
GitHub,
people can work together and improve things.

I would encourage you to use UCL as early as possible.  Adding lots of
command-line options
to vmrun.sh is doable, but gets a bit clunky.

I would also encourage you to look at the bhyveucl work done by Allan Jude:
https://github.com/allanjude/bhyveucl

I think it would be nice if we had a common config file format for bhyve
VM's
based off of UCL.

That way even if people decide to use their own scripts or utilities,
at least they can reuse the config files, instead of cobbling together
their own stuff
which is overlapping in functionality, but is incompatible.

--
Craig

On Thu, Nov 5, 2015 at 10:14 AM, Shawn Debnath <shawn at debnath.net> wrote:

>
> 1. Build a VM based on configuration (simple to start, UCL is the goal)
> 2. Start/stop/restart VM (Attempt graceful shutdown, option for forced)
> 3. StartAll/StopAll/RestartAll VMs
> 4. List basic status of VMs
> 5. Destroy a VM
>
>


More information about the freebsd-virtualization mailing list