Cloud Hypervisor v0.7.0 Released!
Posted April 30, 2020 by Cloud Hypervisor Team ‐ 3 min read
This release has been tracked through the 0.7.0 project.
cloud-hypervisor version 0.7.0 include:
Block, Network, Persistent Memory (PMEM), VirtioFS and Vsock hotplug
Further to our effort to support modifying a running guest we now support
hotplug and unplug of the following virtio backed devices: block, network,
pmem, virtio-fs and vsock. This functionality is available on the (default) PCI
based tranport and is exposed through the HTTP API. The
provides a CLI for adding or removing these device types after the VM has
booted. User can use the
id parameter on the devices to choose names for
devices to ease their removal.
Cloud Hypervisor can now be compiled with the
musl C library and this release
contains a static binary compiled using that toolchain.
Multithreaded Multi Queued
vhost-user backends for network and block support that are shipped by
Cloud Hypervisor have been enhanced to support multiple threads and queues to
improve throughput. These backends are used automatically if
is passed when the devices are created.
Initial RamFS Support
By passing the
--initramfs command line option the user can specify a file to
be loaded into the guest memory to be used as the kernel initial filesystem.
This is usually used to allow the loading of drivers needed to be able to
access the real root filesystem but it can also be used standalone for a very
Alternative Memory Hotplug:
As well as supporting ACPI based hotplug Cloud Hypervisor now supports using
virtio-mem hotplug alternative. This can be controlled by the
hotplug_method parameter on the
--memory command line option. It currently
requires kernel patches to be able to support it.
Cloud Hypervisor now has support for restricting the system calls that the
process can use via the
seccomp security API. This on by default and is
controlled by the
--seccomp command line option.
Updated Distribution Support
With the release of Ubuntu 20.04 we have added that to the list of supported distributions and is part of our regular testing programme.
Command Line and API Changes
This is non exhaustive list of HTTP API and command line changes
idfields added for devices to allow them to be named to ease removal. If no name is specified the VMM chooses one.
hugepagescontrols for determining backing memory instead of providing a path.
--vsockparameter only takes one device as the Linux kernel only supports a single Vsock device. The REST API has removed the vector for this option and replaced it with a single optional field.
- There is enhanced validation of the command line and API provided
configurations to ensure that the provided options are compatible e.g. that
shared memory is in use if any attempt is made to used a
add-vsocksubcommands. For removal
remove-deviceis used. The REST API has appropriate new HTTP endpoints too.
- Specifying a
--pmemis no longer required and instead the size will be obtained from the file. A
discard_writesoption has also been added to provide the equivalent of a read-only file.
- The parameters to
--block-backendhave been changed to more closely align with those used by
Many thanks to everyone who has contributed to our 0.7.0 release including some new faces.
- Alejandro Jimenez email@example.com
- Bo Chen firstname.lastname@example.org
- Cathy Zhang email@example.com
- Damjan Georgievski firstname.lastname@example.org
- Dean Sheather email@example.com
- Eryu Guan firstname.lastname@example.org
- Hui Zhu email@example.com
- Jose Carlos Venegas Munoz firstname.lastname@example.org
- Martin Xu email@example.com
- Muminul Islam firstname.lastname@example.org
- Rob Bradford email@example.com
- Samuel Ortiz firstname.lastname@example.org
- Sebastien Boeuf email@example.com
- Sergio Lopez firstname.lastname@example.org
- Yang Zhong email@example.com
- Yi Sun firstname.lastname@example.org
See the GitHub Release for the release assets.