As planned I tagged the release in git, the tree is now open for
development. A signed tarball and rpms are available from the usual place:
ftp://libvirt.org/libvirt/
I also made release of the python bindings, libvirt-python-3,2,0 is available
from:
ftp://libvirt.org/libvirt/python/
This new release includes a number of new user visible features as well
as some improvement and bug fixes too:
* New features
- The virt-host-validate tool now supports bhyve hypervisor
- Introduce NVDIMM memory model
NVDIMM is new type of memory introduced into QEMU 2.6. The idea is that
we have a non-volatile memory module that keeps the data persistent
across domain reboots and offers much faster data accesses. However,
due to a bug in QEMU, this feature is not enabled for QEMUs older than
2.9.0.
- qemu: Introduce support for generic PCIe Root Ports
For new controllers, a generic device (pcie-root-port) will be used by
default instead of the Intel-specific device (ioh3420), provided the
QEMU binary supports it.
- qemu: Add support for checking guest CPU ABI compatibility
When migrating a domain to a different host, restoring a domain from a
file or reverting a snapshot libvirt will make sure the guest CPU QEMU
presents to the guest OS exactly matches the one provided on the source
host (or before the domain's state was saved). This enhanced check may
also be requested when starting a new domain to ensure the virtual CPU
exactly matches the one specified in the XML.
- qemu: Add support to migrate using TLS
Add the ability to migrate QEMU guests using TLS via a new flag
VIR_MIGRATE_TLS or virsh migrate '--tls' option. Requires using at
least QEMU 2.9.0 in order to work properly.
- qemu: add mediated devices framework support
Recent kernel version introduced new mediated device framework, so
provide an initial support of this framework for libvirt, mainly by
introducing a new host device type in the XML.
- qemu: Add support for setting TSC frequency
Setting TSC frequency is required to enable migration for domains with
'invtsc' CPU feature turned on.
- Add support for block device threshold event
When using thin provisioning, management tools need to resize the disk
in certain cases. To avoid having them to poll disk usage this version
introduces an event which will be fired when a given offset of the
storage is written by the hypervisor. Together with the API it allows
registering thresholds for given storage backing volumes and this event
will then notify management if the threshold is exceeded. Currently
only the qemu driver supports this.
- bhyve: Add support for UEFI boot ROM, VNC, and USB tablet
The bhyve driver now supports booting using the UEFI boot ROM, so
non-FreeBSD guests that support UEFI could be booted without using an
external boot loader like grub-bhyve. Video is also supported now,
allowing to connect to guests via VNC and use an USB tablet as an input
device. Please refer to the driver page for domain XML examples.
* Improvements
- qemu: Detect host CPU model by asking QEMU on x86_64
Previously, libvirt detected the host CPU model using CPUID
instruction, which caused libvirt to detect a lot of CPU features that
are not supported by QEMU/KVM. Asking QEMU makes sure we don't start it
with unsupported features.
- perf: Add more perf statistics
Add support to get the count of cpu clock time, task clock time, page
faults, context switches, cpu migrations, minor page faults, major page
faults, alignment faults, emulation faults by applications running on
the platform.
- Write hyperv crash information into vm log
qemu's implementation of the hyperv panic notifier now reports
information about the crash from the guest os. Starting with this
version, libvirt logs the information to the vm log file for possible
debugging.
* Bug fixes
- QEMU: Use adaptive timeout for connecting to monitor
When starting qemu, libvirt waits for qemu to create the monitor socket
which libvirt connects to. Historically, there was sharp 30 second
timeout after which the qemu process was killed. This approach is
suboptimal as in some scenarios with huge amounts of guest RAM it can
take a minute or more for kernel to allocate and zero out pages for
qemu. The timeout is now flexible and computed by libvirt at domain
startup.
- Overwrite (clear) 2 KB instead of just 512 bytes when initializing
logical device
- Describe the logical backend requirements better for pool-create-as
Thanks everybody for your help with this release, be it with ideas,
bug reports, patches, reviews, localization, docs ...
Enjoy !
Daniel
--
Daniel Veillard | Red Hat Developers Tools
http://developer.redhat.com/
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/