[Libvirt-announce] Release of libvirt-5.10.0

Daniel Veillard veillard at redhat.com
Mon Dec 2 20:27:19 UTC 2019


  This is landing more or less on time :-)
I just tagged it in git, and pushed signed tarball and source rpm to the usual
place:

   https://libvirt.org/sources/

I also made a release for the Python bindings you can find at

   https://libvirt.org/sources/python/


I had to do a bit of workaround since virschematest failes on my machine
this could be related to my latest release of libxml2 or another problem
I didn't really had time to find out why (changes in RelaxNG implementation
likely culprits).

This release includes relatively larse set of changes, notably it now
relies on glib and removes the Perl dependency:

New features:

- qemu: Introduce support for ARM CPU features
  The only features supported at the moment are SVE vector lengths, which
  were introduced in QEMU 4.2.0.

- qemu: Support boot display for GPU mediated devices
  Until now, GPU mediated devices generally did not show any output until
  the guest OS had initialized the vGPU. By specifying the ramfb
  attribute, QEMU can be configured to use ramfb as a boot display for
  the device: this allows for display of firmware messages, boot loader
  menu, and other output before the guest OS has initialized the vGPU.

- Add API to change the response timeout for guest agent commands
  By default, when a command is sent to the guest agent, libvirt waits
  forever for a response from the guest agent. If the guest is
  unresponsive for any reason, this can block the calling thread
  indefinitely. By setting a custom timeout using
  virDomainAgentSetResponseTimeout(), API users can change this behavior.

Improvements:

- Devices CGroup v2 support
  Libvirt supported all controllers of CGroup v2 but the devices
  controller which is implemented in this release.

- Cold plug of sound device
  The QEMU driver now can handle cold plug of <sound/> devices.

- Probe for default CPU types
  With QEMU 4.2.0 we can probe for the default CPU model used by QEMU for
  a particular machine type and store it in the domain XML. This way the
  chosen CPU model is more visible to users and libvirt will make sure
  the guest will see the exact same CPU after migration.

- Adaptation to qemu's blockdev
  QEMU introduced a new way of specifying disks on the command line which
  enables fine-grained control over the block stack. Libvirt has adapted
  to this.

Refactors:

- More GLib integration
  More patches were merged that replace our internal functions with GLib
  ones. Also some effort was invested in replacing gnulib modules with
  GLib functions.

- Rewrite of Perl scripts into Python
  Libvirt used Perl scripts to check for coding style, generate some code
  and things like that. To bring the number of languages used down, these
  scripts were rewritten into Python.

Bug fixes:

- Warn verbosely if using old loader:nvram pairs
  Some distributions still use --with-loader-nvram or nvram variable in
  qemu.conf. This is now discouraged in favour of FW descriptors.
  However, instead of silently ignoring user's config, libvirt warns if
  outdated config is detected.

- Drop pconfig from Icelake-Server CPU model
  The pconfig feature was enabled in QEMU by accident in 3.1.0. All other
  newer versions do not support it and it was removed from the
  Icelake-Server CPU model in QEMU.

- Wait longer for device removal confirmation on PPC64
  After sending device hot unplug request to QEMU, libvirt waits up to 5
  seconds for qemu to confirm the device removal. On some architectures
  (like PPC64) this can take longer time and libvirt now reflects that.

- Forcibly create nodes in domain's namespace
  The QEMU driver starts a domain in a namepsace with private /dev and
  creates only those nodes there which the domain is configured to have.
  However, it may have happened that if a node changed its minor number
  this change wasn't propagated to the namespace.

- Various AppArmor bugfixes
  The AppArmor driver now knows how to handle <shmem/> devices and also
  snapshotting more disks at once.

- Improved video model autoselection
  If a graphics device was added to XML that had no video device, libvirt
  automatically added a video device which was always of type 'cirrus' on
  x86_64, even if the underlying qemu didn't support cirrus. Libvirt now
  bases the decision on qemu's capabilities.

  Thanks everybody who contributed to this release, with report, patches,
docs, reviews, localization, etc ...

  Like previous years the the next release 6.0.0 will be mid-January as
the end of the year generates serious slowdown and February is short.

  So enjoy the release until next year's one :-)

Daniel

-- 
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 Libvirt-announce mailing list