It's out ! The release is tagged in git, the tree is open ! I pushed
the signed tartball and rpms to the usual place:
ftp://libvirt.org/libvirt/
I also rolled out the libvirt-python-3.4.0 release that you can find at
ftp://libvirt.org/libvirt/python/
This is a feature and improvements driven release, as you can see below
there is a number of point with direct user visible improvements:
* New features
- Improved streams to efficiently transfer sparseness
New extension to virStream was implemented so that
virStorageVolDownload and virStorageVolUpload can preserve file
sparseness.
- I/O APIC type can be specified for QEMU/KVM domains
The ioapic tag was added to domain features, so the type of the I/O
APIC can now be specified (e.g. putting it in userspace for KVM
domains).
- The reason for VM shutdown is reported, if known
QEMU 2.10 will be able to report the reason for shutting down (whether
that was caused by the guest or not), and libvirt is prepared for that
and reports that information in its shutdown event as well, if it is
known.
* Improvements
- Repository now has new README.md file
The new file uses markdown syntax, so it looks better on github and
possibly other web pages, but it has also more useful information. The
old README is now symlink to the new file.
- qemu: Use GICv2 by default for aarch64/virt TCG guests
The emulated GICv3 has some limitations that make it unusable as a
default; use GICv2 until they're sorted out. This change makes it once
again possible to run aarch64/virt guests on a x86_64 host without
having to tweak their configuration.
- Additional capabilities for the node_device module
Introduce two new capabilities to the node_device module. The first is
for CCW devices, most common on the S390 architecture. The second is
for fibre channel-backed SCSI devices and exposes the fc_remote_port
sub-capability to SCSI target devices.
- Node devices now report Mediated device capabilities
Endpoint devices support new mdev capability and their parents now
report the supported types in new mdev_types capability.
- Capabilities now report information about host caches
If supported in the kernel, host capabilities will now list L3 caches.
The code for other levels was added as well, but only L3 caches are
reported currently.
- POWER9 CPU model was added
It is now properly reported in host capabilities.
- libxl: NUMA sibling distances are now reported in host capabilities
- VMDK version 3 files are now properly detected
- Interrupt remapping and Extended interrupt mode for IOMMU devices
These two new features can now be controlled with new <driver
intremap='on/off' eim='on/off'/> tag for iommu devices.
- Graphics in libxl domains now have default addresses
Even though there were default addresses before this change, they were
not saved in the XML. It is now possible to see and control the listen
addresses properly.
- Default USB controllers are now added for devices in libxl domains
Even though they were added automatically when USB device was attached,
they could've been missing in some other cases. The logic is now fixed
so there are always USB controllers, even if there was none of them in
the specified XML.
- Limits for RPC messages were increased
Hitting the RPC limits we have is easier every day, so they were
increased once again and some guessing logic was improved as well. It
is now possible to get more stats than ever using the
virConnectGetAllDomainStats() call and push through even bigger
requests and replies for all APIs.
* Bug fixes
- qemu: Create memory_backing_dir on startup
Libvirt's policy is that directories are created on startup if they
don't exist. We've missed this one.
- PCIe 4.0 cards now report proper link speeds
It could happen that the link speed for PCIe devices was not properly
reported or the nodedev-dumpxml just failed. That was due to mistake in
the field width, but should now work properly.
- qemu: Do not report errors on shutdown
For some users, in some rare cases, it could happen that there was an
error message "internal error: End of file from qemu monitor" in the
logs even though no problem happened. The detection of these false
positives was improved and such errors should not show any more.
- User-specified UNIX socket paths for virtio channels should not be reset
It could happen, in some cases, that libvirt would mistake a
user-specified path for its own generated one and thus remove it from
the XML. The detection of such addresses was improved now.
- Fix address reservation during RNG hot-plug
When error occurred in a specific point in time during the hot-plug of
an RNG device, it could happen that an address was released even though
another device was already using it, making it possible to hot-plug
another device with that address, effectively having duplicated
addresses in the XML.
Thanks everybody for your help with the release, be it code, reviews, bug
reports, doc, etc!
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/