From cec884e86382e1b64b4e273664a1444acab86f0a Mon Sep 17 00:00:00 2001 From: Samuel Ortiz Date: Fri, 13 Dec 2019 07:15:25 +0100 Subject: [PATCH] release: v0.4.0 Expand release notes and bump Cargo.toml. Signed-off-by: Samuel Ortiz --- Cargo.toml | 2 +- release-notes.md | 88 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 95948838f..e8e8dab4b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cloud-hypervisor" -version = "0.3.0" +version = "0.4.0" authors = ["The Cloud Hypervisor Authors"] edition = "2018" default-run = "cloud-hypervisor" diff --git a/release-notes.md b/release-notes.md index 46050d6d7..279c89935 100644 --- a/release-notes.md +++ b/release-notes.md @@ -1,3 +1,12 @@ +- [v0.4.0](#v040) + + [Dynamic virtual CPUs addition](#dynamic-virtual-cpus-addition) + + [Programmatic firmware tables generation](#programmatic-firmware-tables-generation) + + [Filesystem and block devices vhost-user backends](#filesystem-and-block-devices-vhost-user-backends) + + [Guest pause and resume](#guest-pause-and-resume) + + [Userspace IOAPIC by default](#userspace-ioapic-by-default) + + [PCI BAR reprogramming](#pci-bar-reprogramming) + + [New `cloud-hypervisor` organization](#new--cloud-hypervisor--organization) + + [Contributors](#contributors) - [v0.3.0](#v030) + [Block device offloading](#block-device-offloading) + [Network device backend](#network-device-backend) @@ -24,6 +33,85 @@ + [Unit testing](#unit-testing) + [Integration tests parallelization](#integration-tests-parallelization) +# v0.4.0 + +This release has been tracked through the [0.4.0 project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/4). + +Highlights for `cloud-hypervisor` version 0.4.0 include: + +### Dynamic virtual CPUs addition + +As a way to vertically scale Cloud-Hypervisor guests, we now support dynamically +adding virtual CPUs to the guests, a mechanism also known as CPU hot plug. +Through hardware-reduced ACPI notifications, Cloud Hypervisor can now add CPUs +to an already running guest and the high level operations for that process are +documented [here](https://github.com/cloud-hypervisor/cloud-hypervisor/blob/master/docs/hotplug.md) + +During the next release cycles we are planning to extend Cloud Hypervisor +hot plug framework to other resources, namely PCI devices and memory. + +### Programmatic firmware tables generation + +As part of the CPU hot plug feature enablement, and as a requirement for hot +plugging other resources like devices or RAM, we added support for +programmatically generating the needed ACPI tables. Through a dedicated +`acpi-tables` crate, we now have a flexible and clean way of generating those +tables based on the VMM device model and topology. + +### Filesystem and block devices vhost-user backends + +Our objective of running all Cloud Hypervisor paravirtualized I/O to a +vhost-user based framework is getting closer as we've added Rust based +implementations for vhost-user-blk and virtiofs backends. Together with the +vhost-user-net backend that came with the 0.3.0 release, this will form the +default Cloud Hypervisor I/O architecture. + +### Guest pause and resume + +As an initial requiremnt for enabling live migration, we added support for +pausing and resuming any VMM components. As an intermediate step towards live +migration, the upcoming guest snapshotting feature will be based on the pause +and resume capabilities. + +### Userspace IOAPIC by default + +As a way to simplify our device manager implementation, but also in order to +stay away from privileged rings as often as possible, any device that relies on +pin based interrupts will be using the userspace IOAPIC implementation by +default. + +### PCI BAR reprogramming + +In order to allow for a more flexible device model, and also support guests +that would want to move PCI devices, we added support for PCI devices BAR +reprogramming. + +### New `cloud-hypervisor` organization + +As we wanted to be more flexible on how we manage the Cloud Hypervisor project, +we decided to move it under a [dedicated GitHub organization](https://github.com/cloud-hypervisor). +Together with the [cloud-hypervisor](https://github.com/cloud-hypervisor/cloud-hypervisor) +project, this new organization also now hosts our [kernel](https://github.com/cloud-hypervisor/linux) +and [firmware](https://github.com/cloud-hypervisor/rust-hypervisor-firmware) +repositories. We may also use it to host any rust-vmm that we'd need to +temporarily fork. +Thanks to GitHub's seamless repository redirections, the move is completely +transparent to all Cloud Hypervisor contributors, users and followers. + +### Contributors + +Many thanks to everyone that contributed to the 0.4.0 release: + +* Cathy Zhang +* Emin Ghuliev +* Jose Carlos Venegas Munoz +* Qiu Wenbo +* Rob Bradford +* Samuel Ortiz +* Sebastien Boeuf +* Sergio Lopez +* Wu Zongyong + # v0.3.0 This release has been tracked through the [0.3.0 project](https://github.com/cloud-hypervisor/cloud-hypervisor/projects/3).