It's out, one day late, though I did the build and pushed the tag
in git yesterday, but I had forgotten to push the commit, thanks
Boris for raising this to me. So it's now available as signed tarball
and rpm source package at the usual place:
https://libvirt.org/sources/
This release come with a number of new features as listed below
but also make the packaging change of not relying on gnulib anymore for
platform compatibility, so there are some serious changes in this version:
New features:
- qemu: new rng backend type: builtin
It implements qemu builtin rng backend. That uses getrandom syscall to
generate random, no external rng source needed. Available since QEMU
4.2.
- support for virtio+hostdev NIC <teaming>
QEMU 4.2.0 and later, combined with a sufficiently recent guest
virtio-net driver (e.g. the driver included in Linux kernel 4.18 and
later), supports setting up a simple network bond device comprised of
one virtio emulated NIC and one hostdev NIC (which must be an SRIOV
VF). (in QEMU, this is known as the "virtio failover" feature). The
allure of this setup is that the bond will always favor the hostdev
device, providing better performance, until the guest is migrated - at
that time QEMU will automatically unplug the hostdev NIC and the bond
will send all traffic via the virtio NIC until migration is completed,
then QEMU on the destination side will hotplug a new hostdev NIC and
the bond will switch back to using the hostdev for network traffic. The
result is that guests desiring the extra performance of a hostdev NIC
are now migratable without network downtime (performance is just
degraded during migration) and without requiring a complicated bonding
configuration in the guest OS network config and complicated
unplug/replug logic in the management application on the host - it can
instead all be accomplished in libvirt with the interface <teaming>
subelement "type" and "persistent" attributes.
- support BR_ISOLATED flag for guest interfaces attached to a Linux host
bridge
Since Linux kernel 4.18, the Linux host bridge has had a flag
BR_ISOLATED that can be applied to individual ports. When this flag is
set for a port, traffic is blocked between that port and any other port
that also has the BR_ISOLATED flag set. libvirt domain interface config
now supports setting this flag via the <port isolated='yes'/> setting.
It can also be set for all connections to a particular libvirt network
by setting the same option in the network config - since the port for
the host itself does not have BR_ISOLATED set, the guests can
communicate with the host and the outside world, but guests on that
network can't communicate with each other. This feature works for QEMU
and LXC guests with interfaces attached to a Linux host bridge.
- qemu: Introduce the 'armvtimer' timer type
QEMU 5.0 introduces the ability to control the behavior of the virtual
timer for KVM ARM/virt guests, and this new timer type exposes the same
capability to libvirt users.
- qemu: Storage configuration improvements
Libvirt now accepts <backingStore type='volume'> and allows specifying
the offset and size of the image format container inside the storage
source via the <slices> subelement.
- qemu: Introduce the 'tpm-spapr' TPM model
This device, available starting from QEMU 5.0, is limited to pSeries
guests.
Improvements:
- qemu: Image format probing is allowed in certain cases
To resolve regressions when users didn't specify the backing image
format in the overlay, libvirt now probes the format in certain secure
scenarios which fixes a few common existing cases. Additionally the
knowledge base was extended to provide more information on how to
rectify the problem.
- qemu: Support "dies" in CPU topology
This CPU topology concept, new in QEMU 4.1.0, sits between the existing
"socket" and "core".
- libxl: Add support for Credit2 scheduler parameters
- lxc: Add support LXC 3 network configuration format
Bug fix:
- conf: Do not generate machine names ending with a dash
Recent systemd versions do not allow them.
Packaging changes:
- use of gnulib has been completely eliminated
Historically libvirt has embedded gnulib to provide fixes for various
platform portability problems. This usage has now been eliminated and
alternative approaches for platform portability problems adopted where
required. This has been validated on the set of platforms covered by
automated CI build testing. Other modern Linux distros using glibc are
expected to work. Linux distros using non-glibc packages, and other
non-Linux platforms may encounter regressions when building this
release. Please report any build problems encountered back to the
project maintainers for evaluation.
Thanks everybody for your help with this release, and sorry for the delay,
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/