As planned I made the release yesterday, it is tagged in git and
available at:
ftp://libvirt.org/libvirt/
both as tarball and signed rpms for Fedora 16.
This is again a relatively large release with close to 300 commits,
and we got a significant number of added feature in the last month,
along with the usual improvement and bug fixes:
Features:
- Add support for sVirt in the LXC driver (Daniel P. Berrange)
- block rebase: add new API virDomainBlockRebase (Eric Blake)
- API: Add api to set and get domain metadata (Peter Krempa)
- virDomainGetDiskErrors public API (Jiri Denemark)
- conf: add rawio attribute to disk element of domain XML (Taku Izumi)
- Add new public API virDomainGetCPUStats() (KAMEZAWA Hiroyuki)
- Introduce virDomainPMSuspendForDuration API (Michal Privoznik)
- resize: add virStorageVolResize() API (Zeeshan Ali (Khattak))
- Add a virt-host-validate command to sanity check HV config (Daniel P. Berrange)
- Add new virDomainShutdownFlags API (Daniel P. Berrange)
- QEMU guest agent support (Daniel P. Berrange)
Documentation:
- fix typo in python bindings (Eric Blake)
- conf: small changes to comments in virDomainDeviceInfo (Laine Stump)
- Clarify the purpose of domxml-from-native (Dave Allan)
- Enhance documentation of the old-style boot configuration (Jiri Denemark)
- virterror.c: Fix several spelling mistakes (Philipp Hahn)
- Add detail to documentation on storage pools and volumes. (Dave Allan)
- fill out rawio description (Laine Stump)
- XenXs: Update documentation (Philipp Hahn)
- reorder public header (Eric Blake)
- tweak recent suspend API additions (Eric Blake)
- Add missing docs for <viridian/> feature flag (Daniel P. Berrange)
- fix virsh man page (Eric Blake)
- fix a few small typos in formatdomain.html.in (Laine Stump)
- src/datatypes.h: fix typo (Alon Levy)
- Clarify semantics of virDomainMigrate{,ToURI}2 (Jiri Denemark)
- Add missed RNG schema for interface (Osier Yang)
- Add documentation new ways to access members of variables (Stefan Berger)
- virsh: improve doMigrate function docs (Alex Jia)
- standardize description of flags (Eric Blake)
- Document Android application using libvirt (Michal Privoznik)
Portability:
- virpidfile: replace fopen/fwrite/fscanf with more portable version (Marc-André Lureau)
- util: Do not use PRIx64 macro (Osier Yang)
- Replace truncate() with ftruncate() (Daniel P. Berrange)
- build: avoid gcc 4.7 warning about inlines (Eric Blake)
- lxc: Fix build with AppArmor (Jiri Denemark)
- Update gnulib to fix mingw64 compilation errors (Marc-André Lureau)
- tests: virnettlscontexttest needs gnutls-2.6.0 (Philipp Hahn)
- qemu: Silent bogus warning about unitialized variable (Jiri Denemark)
- build: fix text regression (Eric Blake)
- Add virt-host-validate.1 to Mingw32 RPM spec file list (Daniel P. Berrange)
- build: fix missing include (Eric Blake)
- qemu: support qmp on RHEL/CentOS qemu (Eric Blake)
- util: Include stdint.h because of uint32_t (Michal Privoznik)
- Cast pointer to int using intptr_t (Marc-André Lureau)
- build: fix header order on mingw (Eric Blake)
- errcode is typedef by mingw, rename an argument name (Marc-André Lureau)
- Add missing virGetGroupName() (Marc-André Lureau)
- build: skip lxc with too-old glibc (Eric Blake)
- Remove dmidecode dependancy outside PC arches (Daniel Veillard)
- build: fix bootstrap on fresh clone (Eric Blake)
- tests: Add qemuxml2argv tests for PPC64 pseries machine (Michael Ellerman)
- tests: Teach qemuxml2argvtest about spapr-vio addresses (Michael Ellerman)
- Disable netcf if building without libvirtd (Daniel P. Berrange)
- build: fix build on mingw with netcf available (Eric Blake)
- build: avoid spurious compiler warning (Eric Blake)
Bug Fixes:
- rpc: Plug memory leaks on doRemoteOpen() failure path (Alex Jia)
- GetCPUStats: fix overflow test (Lai Jiangshan)
- python: Correct arguments number for migrateSetMaxSpeed (Osier Yang)
- qemu: fix persistent setting of blkiodevice weights (Eric Blake)
- qemu: Fix memory leak when building -cpu argument (Jiri Denemark)
- security: Driver 'none' cannot create confined guests (Jiri Denemark)
- seclabel: Do not output relabel attribute for type 'none' (Jiri Denemark)
- virsh: Plug memory leak on cmdDesc (Alex Jia)
- virsh: Do not check the input XML at virsh layer for cmdDetachDevice (Osier Yang)
- On systems with dmidecode version 2.10 or older, (Prerna Saxena)
- storage: Don't unsparsify images when cloning (Cole Robinson)
- build: don't require avahi during install (Laine Stump)
- pyhton: Don't link against libvirt_util.la (Michal Privoznik)
- xen-xm: SIGSEGV in xenXMDomainDefineXML: filename (Philipp Hahn)
- xen-xm: fix data loss in domain edit (Philipp Hahn)
- virsh: Fix resource leak while listing inactive domains with titles (Peter Krempa)
- xen_xm: Fix SIGSEGV in xenXMDomainDefineXML (Philipp Hahn)
- qemu: Fix seamless spice migration (Jiri Denemark)
- apparmor: Add missing comma (Jiri Denemark)
- virsh: Avoid invalid read of size errors (Alex Jia)
- qemu: eliminate "Ignoring open failure" when using root-squash NFS (Laine
Stump)
- conf: Plug memory on virDomainDiskDefParseXML (Alex Jia)
- virsh: Plug memory leak on cmdUndefine (Alex Jia)
- network: fix testsuite regression (Eric Blake)
- network: Avoid memory leaks on networkBuildDnsmasqArgv (Alex Jia)
- python: correct a copy-paste error (Alex Jia)
- qemu: Don't jump to endjob if no job was even started (Michal Privoznik)
- qemu: fix my typo at commit 74e034964c32edb1732d0ff7642f3977f3587d72 (Taku Izumi)
- qemu: Fix segfault in qemuMonitorTextGetBlockInfo (Hendrik Schwartke)
- tests: fix reversed comparisons (Eric Blake)
- qemu: avoid double free of qemu help output (Eric Blake)
- apparmor: Fix use of uninitialized random_data (Jiri Denemark)
- storage: Fix any VolLookupByPath if we have an empty logical pool (Cole Robinson)
- Don't bind mount onto a char device for /dev/ptmx in LXC (Daniel P. Berrange)
- xen: Don't crash when we fail to init caps (Guido Günther)
- xen: properly report out of memory when hvm_type is too small (Guido Günther)
- threads: check for failure to set thread-local value (Eric Blake)
- Fix rpc generator to anchor matches for method names (Daniel P. Berrange)
- Fix startup of LXC containers with filesystems containing symlinks (Daniel P. Berrange)
- qemu: Prohibit reattaching node device if it is in use (Osier Yang)
- qemu: Don't break domain with 0:0:2.0 assigned to anything but VGA (Jiri Denemark)
- Fixed dumpxml of <iotune> parameters (Martin Kletzander)
- nwfilter: fix typing error in filter (Stefan Berger)
- events: Return the correct number of registered events (Adam Litke)
- uuid: fix off-by-one (Eric Blake)
- build: fix virsh reformat fallout (Eric Blake)
- stream: Check for stream EOF (Michal Privoznik)
- Do not generate security_model when fs driver is anything but 'path' (Deepak C
Shetty)
- qemu: check for kvm availability before starting kvm guests (Laine Stump)
- qemu: fix a typo on qemuDomainSetBlkioParameters (Alex Jia)
- config: report error when script given for inappropriate interface type (Laine Stump)
Improvements:
- python: make other APIs share common {get, set}PyVirTypedParameter (Guannan Ren)
- npiv: Auto-generate WWN if it's not specified (Osier Yang)
- Remove single quotes from audit records (Marcelo Cerri)
- domain: add implicit USB controller (Marc-André Lureau)
- python: refactoring virTypedParameter conversion for NUMA tuning APIs (Guannan Ren)
- qemu: make blkiodevice weights easier to read (Eric Blake)
- sysinfo: simplify function signature (Eric Blake)
- Populate /dev/std{in,out,err} symlinks in LXC containers (Daniel P. Berrange)
- Update symbols file for virFileDirectFd/virFileWrapperFd rename (Daniel P. Berrange)
- virsh: Fix flag semantics and docs for "desc" command (Peter Krempa)
- qemu: Always use iohelper for domain save (Jiri Denemark)
- qemu: Always use iohelper for dumping domain core (Jiri Denemark)
- util: Generalize virFileDirectFd (Jiri Denemark)
- Allow polkit auth for VNC and SSH users (Cole Robinson)
- seclabel: make code and RNG match (Eric Blake)
- maint: Add test output files to .gitignore (Peter Krempa)
- tests: Fix build with -Werror (Jiri Denemark)
- maint: consolidate several .gitignore files (Eric Blake)
- util: refactor virFileOpenAs (Laine Stump)
- util: rename netlink.[ch] to virnetlink.[ch] (D. Herrendoerfer)
- virsh: add --graceful switch to destroy command (Laine Stump)
- qemu: new GRACEFUL flag for virDomainDestroy w/ QEMU support (Laine Stump)
- Added missing memory reporting into python bindings (Martin Kletzander)
- python: use libvirt_util to avoid raw free (Eric Blake)
- build: expand rule to cover testsuite (Eric Blake)
- build: prohibit raw malloc and free (Eric Blake)
- build: clean up CPPFLAGS/INCLUDES usage (Eric Blake)
- command: allow merging stdout and stderr in string capture (Eric Blake)
- maint: prune duplicate listings in AUTHORS (Eric Blake)
- virsh: extension of virsh attach-disk for rawio (Taku Izumi)
- Fixed connection definition for non-SELinux builds (Martin Kletzander)
- Added RSS reporting (Martin Kletzander)
- Added RSS information gathering into qemudGetProcessInfo (Martin Kletzander)
- Set a security context on /dev and /dev/pts mounts (Daniel P. Berrange)
- Add two new security label types (Daniel P. Berrange)
- Re-add domain device seclabel parsing / formatting (Daniel P. Berrange)
- Revert changes to sec label parsing (Daniel P. Berrange)
- tests: dynamically replace dnsmasq path (Philipp Hahn)
- xen_xs: name xendConfigVersion magic numbers (Philipp Hahn)
- block rebase: initial qemu implementation (Eric Blake)
- block rebase: wire up remote protocol (Eric Blake)
- qemu: Add support for virDomainGetMetadata and virDomainSetMetadata (Peter Krempa)
- virsh: Add support for modifying domain description and titles (Peter Krempa)
- xml: Add element <title> to allow short description of domains (Peter Krempa)
- build: add missing virStorageFileResize to libvirt_private.syms (Laine Stump)
- build: add missing virCommandAddCap to libvirt_private.syms (Laine Stump)
- daemon: Allow overriding NOFILES ulimit for the daemon as well (Michal Privoznik)
- python: Add binding for virDomainGetDiskErrors (Jiri Denemark)
- virsh: Implement domblkerror command (Jiri Denemark)
- qemu: Implement virDomainGetDiskErrors (Jiri Denemark)
- Remote protocol for virDomainGetDiskErrors (Jiri Denemark)
- command: Fix ATTRIBUTE_UNUSED on virSetCapabilities (Michal Privoznik)
- simplify block of codes (Alex Jia)
- qemu: make qemu processes to retain rawio capability (Taku Izumi)
- util: extend virExecWithHook() (Taku Izumi)
- util: add functions to keep capabilities (Taku Izumi)
- Implement virStorageVolResize() for FS backend (Zeeshan Ali (Khattak))
- resize: slightly alter signature (Eric Blake)
- qemu: add "romfile" support to specify device boot ROM (Laine Stump)
- qemu: (and conf) support rombar for network devices (Laine Stump)
- conf: relocate rombar and boot order parse/format (Laine Stump)
- conf: put all guest-related HostdevDef data in one object (Laine Stump)
- xen: Don't add <console> to xml for dom0 (Cole Robinson)
- remote handler for virDomainGetCPUStats() (KAMEZAWA Hiroyuki)
- virsh: Expose new virDomainPMSuspendForDuration API (Michal Privoznik)
- resize: implement remote protocol for virStorageVolResize() (Zeeshan Ali (Khattak))
- Return more error output if policykit auth fails. (Cole Robinson)
- Add new error code VIR_ERROR_AUTH_CANCELLED (Cole Robinson)
- Move virEmitXMLWarning into xml.h (Daniel P. Berrange)
- Move virMacAddrXXX functions to src/util/virmacaddr.[ch] (Daniel P. Berrange)
- Rename virXXXXMacAddr to virMacAddrXXX (Daniel P. Berrange)
- qemu: parse and create -cpu ...,-kvmclock (Paolo Bonzini)
- conf: add kvmclock timer (Paolo Bonzini)
- qemu: do not create useless <cpu> element (Paolo Bonzini)
- qemu: get arch name from <cpu> element (Paolo Bonzini)
- qemu: detect arch correctly for KVM (Paolo Bonzini)
- x86: add kvm32 and kvm64, update qemu64 (Paolo Bonzini)
- qemu: parse -enable-kvm (Paolo Bonzini)
- qemu: require qmp on new enough qemu (Eric Blake)
- nwfilter: Rebuild filters only if new filter is different than current (Stefan Berger)
- nwfilter: Force instantiation of filters upon driver reload (Stefan Berger)
- qemu: Refactor qemuMonitorGetBlockInfo (Jiri Denemark)
- Update VIRT_CONTROL audit record with pid. (Marcelo Cerri)
- build: allow for 64-bit pid in daemon (Eric Blake)
- daemon: convert virRun to virCommand (Eric Blake)
- hash: minor touchups (Eric Blake)
- Replace hashing algorithm with murmurhash (Daniel P. Berrange)
- Rename hash.h and hash.c to virhash.h and virhash.c (Daniel P. Berrange)
- Convert various virHash functions to use size_t / uint32 (Daniel P. Berrange)
- Introduce new API for generating random numbers (Daniel P. Berrange)
- schema: Relax schema for domain name (Peter Krempa)
- storage: Support different wiping algorithms (Michal Privoznik)
- lxc: export container=lxc-libvirt for systemd (Eric Blake)
- Add virFileTouch for creating empty files (Daniel P. Berrange)
- virsh: Expose new VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik)
- snapshots: Introduce VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE flag (Michal Privoznik)
- qemu_agent: Create file system freeze and thaw functions (Michal Privoznik)
- qemu: Emit bootindex even for direct boot (Jiri Denemark)
- metadata: group metadata next to description (Eric Blake)
- build: simplify xmlFreeNode usage (Eric Blake)
- Allow custom metadata in domain configuration XML (Zeeshan Ali (Khattak))
- virCommandProcessIO(): make poll() usage more robust (Laszlo Ersek)
- Allow choice of shutdown method via virsh (Daniel P. Berrange)
- Wire up QEMU agent to reboot/shutdown APIs (Daniel P. Berrange)
- hashtest: Initialize variable in virHashEqual test (Michal Privoznik)
- Add test case for virHashEqual function (Stefan Berger)
- Compare two hash tables for equality (Stefan Berger)
- virsh: let domif-{get,set}link take target name (Taku Izumi)
- maint: cleanup qemu capabilities (Eric Blake)
- maint: enforce use of _LAST marker (Eric Blake)
- API: make declaration of _LAST enum values conditional (Eric Blake)
- error: drop old-style error reporting (Eric Blake)
- util: use new virTypedParameter helpers (Eric Blake)
- util: add new file for virTypedParameter utils (Eric Blake)
- lxc: use live/config helper (Eric Blake)
- build: silence some compiler warnings from gnulib (Eric Blake)
- Rename APIs for fetching UNIX socket credentials (Daniel P. Berrange)
- Add virGetGroupName to convert from GID to group name (Daniel P. Berrange)
- Remove duplicate call to virNetSASLSessionGetIdentity (Daniel P. Berrange)
- Also retrieve GID from SO_PEERCRED (Daniel P. Berrange)
- Added capability checking for block <iotune> setting. (Martin Kletzander)
- qemu: Introduce inactive PCI device list (Osier Yang)
- Permission change for systemtap examples. (Martin Kletzander)
- Add new attribute wrpolicy to <driver> element (Deepak C Shetty)
- tests: avoid dirname in tests (Eric Blake)
- qemu: Add support for host CPU modes (Jiri Denemark)
- Taint domains configured with cpu mode=host-passthrough (Jiri Denemark)
- cpu: Update guest CPU in host-* mode (Jiri Denemark)
- Add support for cpu mode attribute (Jiri Denemark)
- cpu: Optionally forbid fallback CPU models (Jiri Denemark)
- tests: Print XML file name in verbose CPU test (Jiri Denemark)
- docs: Expose alias tag in domain RNG schema (Osier Yang)
- docs: Add readonly to filesystem RNG schema (Osier Yang)
- conf: Remove do-nothing validation functions (Michael Ellerman)
- Make drive unit attribute optional in the XML schema (Michael Ellerman)
- virsh domiflist: change output (Taku Izumi)
- export virNetDevGetVirtualFunctions as a private symbol (Paolo Bonzini)
- virsh: Two new fields for command domblklist (Osier Yang)
- qemu: Support copy on read for disk (Osier Yang)
- Added check for maximum number of vcpus exceeding topology limit (Martin Kletzander)
- build: update to latest gnulib (Eric Blake)
- Rsync keymaps.csv file with GTK-VNC (Daniel P. Berrange)
- Re-write LXC controller end-of-file I/O handling yet again (Daniel P. Berrange)
- Allow 10 chars for domain IDs & 30 chars for names in virsh list (Daniel P.
Berrange)
- virsh: New command print summary of all virtual interfaces (Osier Yang)
- Added new option to virsh net-dumpxml called --inactive (Shradha Shah)
- Functionality to implicitly get interface pool from SR-IOV PF. (Shradha Shah)
- Adding the element pf to network xml. (Shradha Shah)
- Added Function virNetDevGetVirtualFunctions (Shradha Shah)
- Added function pciSysfsFile to enable access to the PCI SYSFS files. (Shradha Shah)
- Add test cases for new ways to access variables in filters (Stefan Berger)
- Address side effects of accessing vars via index (Stefan Berger)
- Add access to elements of variables via index (Stefan Berger)
- Introduce possibility to have an iterator per variable (Stefan Berger)
- Optimize the elements the iterator visits. (Stefan Berger)
- apparmor: Mark pid parameter as unused (Jiri Denemark)
- Change security driver APIs to use virDomainDefPtr instead of virDomainObjPtr (Daniel P.
Berrange)
- snapshot: allow reuse of existing files in disk snapshot (Eric Blake)
- PolicyKit: Check auth before asking client to obtain it (Jim Fehlig)
- qemu: add new disk device='lun' for bus='virtio' &
type='block' (Laine Stump)
- qemu: add capabilities flags related to SG_IO (Laine Stump)
- qemu: one more client to live/config helper (Eric Blake)
Cleanups:
- python: drop unused function (Eric Blake)
- python: drop redundant function (Eric Blake)
- Replace TAB with white spaces (Osier Yang)
- qemu: Clenup qemuDomainSetInterfaceParameters (Michal Privoznik)
- conf: remove duplicate call to VIR_FREE(info->alias) (Laine Stump)
- xml: fix struct typos (Eric Blake)
- Remove tabs from libvirt_public.syms & enforce it (Daniel P. Berrange)
So thanks everybody for your contributions for this release, be it
ideas, patches, or reports,
enjoy, and let's shoot for another release within one month,
keep the patches flowing !
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/