[libvirt] Release of libvirt-6.0.0

Daniel Veillard veillard at redhat.com
Wed Jan 15 15:34:57 UTC 2020

  As planned the release is available, tagged in git, and the signed
tarball and source rpm are available from the usual place:


I also made the release of the pythn bindings which can be found at:


This release carries some serious changes, dropping the support for python2
and the phyp Power Hypervisor. This comes with a set of new features and
improvements too:

Packaging changes:

- support for python2 is removed
    Libvirt is no longer able to be built using the Python 2 binary. Python
    3 must be used instead.

- docs: the python docutils toolset is now required
    The use of rst2html has been introduced for the website build process
    since docs are now being written in the RST as an alternative to HTML.

New features:

- new PCI hostdev address type: unassigned
    A new PCI hostdev address type 'unassigned' is introduced. An
    unassigned PCI hostdev behaves like any regular PCI hostdev inside
    Libvirt, but it is not usable by the guest. This gives the user a new
    option to manage the binding of PCI devices via Libvirt, declaring PCI
    hostdevs in the domain XML but allowing just a subset of them to be
    assigned to the guest.

- Provide init scripts for sub-deaemons
    So far libvirt shipped systemd unit files for sub-daemons. With this
    release, init scripts are available too. Package maintainers can choose
    which one to install via --with-init-script configure option.

- qemu: Support cold-unplug of sound devices

    This flag, which can be enabled using virsh's --tls-destination option,
    allows migration to succeed in situations where there is a mismatch
    between the destination's hostname and the information stored in its
    TLS certificate.

- qemu: Support reporting memory bandwidth usage stats
    Implement Intel RDT-MBM in libvirt. The stats can be obtained via virsh
    domstats --memory.

- qemu: Allow accessing NVMe disks directly
    Before this release there were two ways to configure a NVMe disk for a
    domain. The first was using <disk/> with the <source/> pointing to the
    /dev/nvmeXXXX. The other was using PCI assignment via <hostdev/>
    element. Both have their disadvantages: the former adds latency of file
    system and block layers of the host kernel, the latter prohibits domain
    migration. In this release the third way of configuring NVMe disk is
    added which combines the advantages and drops disadvantages of the
    previous two ways. It's accessible via <disk type='nvme'/>.

Removed features:

- 'phyp' Power Hypervisor driver removed
    The 'phyp' Power Hypervisor driver has not seen active development
    since 2011 and does not seem to have any real world usage. It has now
    been removed.


- qemu: xz save image compression is faster
    When using the xz format to compressed virtual machine saved state
    images, the "-3" compression level preset is now used. This results in
    slightly larger files, but with a massively reduced time to compress.
    The xz format offers the best compression level for saved state images,
    albeit still with the slowest running time. For the fastest possible
    running time, at cost of the larest compressed size, lzop should be

- domain: Improve job stat handling
    It is now possible to retrieve stats for completed and failed jobs.

- qemu: Don't hold monitor and agent job at the same time
    Before this change, a malicious (or buggy) qemu-guest-agent running in
    the guest could make other libvirt APIs unavailable for an unbounded
    amount of time.

Bug fixes:

- qemu: Report error if backing image format is not specified explicitly
    For a long time libvirt was assuming that a backing file is RAW when
    the format was not specified. This didn't pose a problem until blockdev
    support was enabled in last release. Libvirt now requires that the
    format is specified in the image metadata or domain XML and the VM will
    refuse to start otherwise. Additionally the error message now links to
    the knowledge base which summarizes how to fix the images.

- qemu: Fix non-shared storage migration over NBD

- qemu: Generate a single MAC address for hotplugged network devices
    Since libvirt 4.6.0, when hotplugging a network device that didn't have
    a MAC address already assigned by the user, two separate addresses
    would be generated: one for the live configuration, which would show up
    immediately, and one for the inactive configuration, which would show
    up after the first reboot. This situation was clearly undesirable, so a
    single MAC address is now generated and used both for the live
    configuration and the inactive one.

  thanks everybody who helped on this release, with reports, fixes,
reviews, ideas, documentation, etc ...

   Enjoy the release, next one will be scheduled at the end of
February !


Daniel Veillard      | Red Hat Developers Tools http://developer.redhat.com/
veillard at redhat.com  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | virtualization library  http://libvirt.org/

More information about the libvir-list mailing list