Be able to start and monitor BHyve virtual machines (#250)
* vmm_core: support bhyve virtual machines with two new configuration options:
cpus and linux_boot_partition
* vmm_asn: support for changed unikernel info, config, arguments
* first sketch of how to execute bhyve virtual machine in vmm_unix
* prepare_bhyve: make it real
* bhyve: check that block and network devices have integer names and are ascending
* vmm_unix: also use a fifo for bhyve, implement exec_bhyve
* fix albatross_client
* cleanup bhyve vm (on failure and shutdown)
* client: also make typ passable via CLI
* resources: allow block device in /dev/zvol (TODO: fix before merge)
* vmm_unix: fix bhyve invocation
* vmm_unix: pass stdout also as stdin (TODO revise before merge)
bhyve tries to 'mevent_add(.., EVF_READ, ..)' which fails for /dev/null
* make the path that is allowed to use /dev/zvol configurable via command-line parameter
* fix issue, pass t.dev_zvol
* fix tests for API changes
* order destroy_bhyve ; free_system_resources in fail (of create) and handle_shutdown uniformly
* in albatross_daemon, do a Random.self_init
* rename Vmm_unix.bridge_name to device_name
* Comment why we use stdout for stdin
* When bhyve print digest as bhyve-vmname
* Print digest depending on typ
For Solo5 it's a hex digest. For bhyve it's a bhyve-vmname.
* vmm_unix: cleanup, remove unused functions
* allow a set of cpuids
* display the CPUids (as diff) not allowed by policy
* fix pretty-printing, rename cpus to CPUids and cpus to #cpu. also rename field to numcpus
* use sys.command for grub-bhyve
* client: restore compatibility - use cpu 0 by default
* Vmm_unix.prepare: use Bos.OS.Cmd which works nicely with grub-bhyve as well
Set a timeout (using `timeout 1s`) for running the preparation -- this will
kill the process if it wasn't finished within 1s.
---------
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
8860b6
-
Apr 13 09:21 +00:00