A couple days later than expected, but considering the current
flow of fixes, that's not a bad thing. This is a huge release,
this includes more than 250 commits in a month and many new
functionalities or drivers, and a lot of improvements and bug fixes:
New features:
- Interface implementation based on netcf (Laine Stump Daniel Veillard)
- Add new net filesystem glusterfs (Harshavardhana)
- Initial VMWare ESX driver (Matthias Bolte)
- Add support for VBox 3 and event callbacks on vbox (Pritesh Kothari)
- First version of the Power Hypervisor driver (Eduardo Otubo)
- Run QEMU guests as an unprivileged user (Daniel P. Berrange)
- Support cgroups in QEMU driver (Daniel P. Berrange)
- QEmu hotplug NIC support (Mark McLoughlin)
- Storage cloning for LVM and Disk backends(Cole Robinson)
- Switching to GIT (Jim Meyering)
Documentation:
- Typo and comment fixes (Aron Griffis)
- Fix virCapabilitiesDefaultGuestMachine documentation. (Chris Lalancette)
- ESX Scheduler documentation and cleanup (Matthias Bolte)
- Update the java bindings page (Bryan Kearney)
- Added Matthias Bolte to AUTHORS list (Daniel Veillard)
- doc: clone+build instructions (Jim Meyering)
- docs: say that the old repository is deprecated... (Jim Meyering)
- document tcp listen and raw wire option (Guido Günther)
- Fix docs and code disagreements for character devices. (Cole Robinson)
- Fix documentation of virStoragePoolUndefine return (Thomas Treutner)
- Fix gitweb link on download page. (Cole Robinson)
- update download informations after switch to git (Daniel Veillard)
- Update links to bugzilla (Garry Dolley)
- Update the links for RHEL libvirt bugzillas (Garry Dolley)
Portability:
- Xen Inotify support needs sys/inotify.h (Maximilian Wilhelm)
- Workaround for broken GCC in Debian Etch (Maximilian Wilhelm)
- LXC driver requires sched.h and unshare() (Maximilian Wilhelm)
- Configure UML support only if sys/inotify.h present (Maximilian Wilhelm)
- Fix libcurl automatic check and ESX status (Maximilian Wilhelm)
- Enable ESX driver build on Mingw32 (Daniel P. Berrange)
- Fix build on mingw32 by disabling netcf (Daniel P. Berrange)
- Reduce glusterfs dependency to 2.0.1 (Mark McLoughlin)
- Desactivate phyp build and indicate libssh builreq (Daniel Veillard)
- Fix misc Win32 compile warnings (Daniel P. Berrange)
- Rename variable for compilation in Mingw32 (end) (Laine Stump)
- Rename variable for compilation in Mingw32 (Laine Stump)
- rpm spec cleanup and split off client only package (Daniel Veillard)
Bug fixes:
- Add uniqueness checking for LXC define/create methods (Daniel P. Berrange)
- Fix removal of transient VMs when LXC aborts (Daniel P. Berrange)
- Don't try to activate cgroups if not present for LXC (Daniel P. Berrange)
- Refresh /etc/xen if inotify wasn't (Cole Robinson)
- Don't loose id on xen domain redefine (Cole Robinson)
- Fix memory leak in openvz driver (Daniel P. Berrange)
- Protected against potential crash scenarios (Daniel P. Berrange)
- Fix crash when attempting to shutdown inactive QEMU vm (Daniel P. Berrange)
- Fix PCIe FLR detection (Mark McLoughlin)
- Set perms on /var/lib/libvirt/images to 0711 (Mark McLoughlin)
- Fix problem writing QEMU pidfile (Daniel P. Berrange)
- Fix vcpupin on Xen problem (Henrik Persson)
- Fix RPM upgrades from F11 to F12 (Daniel P. Berrange)
- Fix deadlock in remote driver domain events (Daniel P. Berrange)
- qemu: fix monitor socket reconnection (Ryota Ozaki)
- Fix polkit/netcf disabling on older fedoras (Mark McLoughlin)
- Fix crashes in Xen capabilities code (Daniel P. Berrange)
- Always add -no-kvm and -no-kqemu, for qemu domains (Jim Paris)
- Avoid raising an internal error (Paolo Bonzini)
- Don't allow NULL paths for BlockStats and InterfaceStats (Cole Robinson)
- Don't leak vm->monitorpath on re-connect (Mark McLoughlin)
- Don't restore labels on shared/readonly disks (Daniel P. Berrange)
- Ensure spawned children have a stderr/out set to /dev/null if requested (Daniel P. Berrange)
- Ensure test:/// URIs get routed to the non-privileged libvirtd (Daniel P. Berrange)
- fix another failing "make distcheck" (qemuhelptest) (Jim Meyering)
- Fix an uninitialized variable in Unix socket open (Jun Koi)
- Fix configure flags in spec file (Daniel Veillard)
- Fix error reporting for security driver over remote protocol (Daniel P. Berrange)
- fix failing "make distcheck" (Jim Meyering)
- Fix free of unitialized data upon PCI open fail (Daniel P. Berrange)
- Fix informations about previous git server (Daniel Veillard)
- Fix memory leaks in esxDomainDumpXML (Matthias Bolte)
- Fix multiple memory leaks in virsh (Laine Stump)
- Fix PCI device hotplug/unplug with newer QEMU (Daniel P. Berrange)
- Fix problem with QEMU monitor welcome prompt confusing libvirt after a libvirtd daemon restart with active guests (Daniel P. Berrange)
- Fix python examples to use read-write conn (Dan Kenigsberg)
- Fix reconnect bug for VBox (Pritesh Kothari)
- Fix SELinux denial during hotplug (Daniel P. Berrange)
- Fix typo in check for glusterfs format pools (Daniel P. Berrange)
- Fix typo in storage cloning (Daniel P. Berrange)
- qemu: Check driver is initialized up front, to avoid segfault. (Cole Robinson)
- qemu: Try multiple times to open unix monitor socket (Cole Robinson)
- Release conn lock before reporting errors (end) (Laine Stump)
- Release conn lock before reporting interface errors (Laine Stump)
- Remove the network backend if NIC hotplug fails (Mark McLoughlin)
- Set specific flags for glusterfs fs mounts (Harshavardhana)
- storage: disk: Default to 'ext2' for new volumes. (Cole Robinson)
- storage: disk: Fix parthelper '-g' option handling. (Cole Robinson)
- storage: disk: Fix segfault creating volume without target path (Cole Robinson)
- storage: Fix deadlock when cloning across pools. (Cole Robinson)
- Update modified mac address in place in virGetInterface (Laine Stump)
Improvements:
- Add an allocation unit when calling qemu-img (Ryota Ozaki)
- Improve diagnostics when pidfile writing fails (Daniel P. Berrange)
- Disable IPv6 on virtual networks (Daniel P. Berrange)
- Allow dnsmasq to provide DNS without DHCP (Daniel P. Berrange)
- Fix an initialization problem in previous patch (Aron Griffis)
- Remove MAX_TAP_ID and let kernel do numbering (Aron Griffis)
- Kernel command line support for UML (Ron Yorston)
- Activate the interface drivers, and cleanups (Daniel Veillard)
- Add an error code for conflicting mac addresses (Laine Stump)
- Add a test interface driver (Laine Stump)
- Add canonical machine name to capabilities output (Mark McLoughlin)
- add cd and pwd commands to virsh (Paolo Bonzini)
- Add checks for some NIC hotplug related features added in qemu-0.10.0 (Mark McLoughlin)
- Add domain autostart for LXC driver (Daniel P. Berrange)
- Add domain events support to LXC driver (Daniel P. Berrange)
- Add interface object list manipulation functions (Laine Stump)
- Add internal XML parsing/formatting flag (Mark McLoughlin)
- Add netcf XML schemas and test data (Daniel Veillard)
- Add new net filesystem glusterfs (Harshavardhana)
- Add NIC and hostnet names to domain state XML (Mark McLoughlin)
- Add no_verify query parameter to ESX URIs (Matthias Bolte)
- Add SCM_RIGHTS support to QEMU monitor code (Mark McLoughlin)
- Add support for attaching network/bridge NICs in QEMU driver (Mark McLoughlin)
- add support for netcf XML import and export (Daniel Veillard)
- Add support for network device detach (Mark McLoughlin)
- Add support for physical memory access for QEmu (Nguyen Anh Quynh)
- Add support for VBox 3 and event callbacks on vbox (Pritesh Kothari)
- Add the monitor type to the domain state XML (Mark McLoughlin)
- Add virCapsGuestMachine structure (Mark McLoughlin)
- Add virsh commands for network interface management (Laine Stump)
- Allow autostart of libvirtd to be disabled with LIBVIRT_AUTOSTART=0 (Daniel P. Berrange)
- Allow leading dots in VMX config entry names (Matthias Bolte)
- Assign names to qemu NICs and network backends (Mark McLoughlin)
- Basic qemu NIC hotplug support (Mark McLoughlin)
- build: adjust aclocal's search patch to prefer gnulib's m4 files. (Jim Meyering)
- build: automatically rerun ./bootstrap when needed (Jim Meyering)
- build: make autogen.sh use autoreconf -if (Jim Meyering)
- build: submodule machinery now works also when no tag is reachable (Jim Meyering)
- Canonicalize qemu machine types (Mark McLoughlin)
- Change code generator to give async event messages their own postfix (Daniel P. Berrange)
- Change the way client event loop watches are managed (Daniel P. Berrange)
- Decode incoming request header before invoking dispatch code (Daniel P. Berrange)
- Define an API for registering incoming message dispatch filters (Daniel P. Berrange)
- ESX driver accept VI API version 4.0 (Matthias Bolte)
- Fill in vCPU <-> pCPU current mapping, and vCPU cpuTime for QEMU (Daniel P. Berrange)
- generate ChangeLog from git logs into distribution tarball (Jim Meyering)
- Implement qemu dump capabilities (Paolo Bonzini)
- Implement schedular tunables API using cgroups (Daniel P. Berrange)
- Implement the new virinterface functions (Laine Stump)
- Make cgroups a little more efficient (Daniel P. Berrange)
- Make it easier to debug tests running programs (Daniel P. Berrange)
- Make qemuBuildHostNetStr() take tapfd as a string (Mark McLoughlin)
- Make QEMU cgroups use configurable (Daniel P. Berrange)
- Make qemuCmdFlags available in qemudDomainAttachDevice() (Mark McLoughlin)
- Move queuing of RPC replies into dispatch code (Daniel P. Berrange)
- Move vnet_hdr logic into qemudNetworkIfaceConnect() and export it (Mark McLoughlin)
- Netcf based interface driver implementation (Laine Stump)
- netcf XML validation and input and output tests (Daniel Veillard)
- Only probe qemu for machine types when binary changes (Mark McLoughlin)
- Place every QEMU guest in a private cgroup (Daniel P. Berrange)
- Probe for QEMU machine types (Mark McLoughlin)
- Probe QEMU directly for machine aliases if not found in capabilties (Mark McLoughlin)
- Public API for new virInterface functions (Laine Stump)
- python: Raise exceptions if virDomain*Stats fail. (Cole Robinson)
- Refactor cgroups to allow a group per driver to be managed directly (Daniel P. Berrange)
- Re-factor pci_add reply parsing and parse domain/bus numbers (Mark McLoughlin)
- Retain disk PCI address across libvirtd restarts (Mark McLoughlin)
- Retain PCI address from NIC attach (Mark McLoughlin)
- Run QEMU guests as an unprivileged user (Daniel P. Berrange)
- Separate code for encoding outgoing remote message headers (Daniel P. Berrange)
- Split generic RPC message dispatch code out from remote protocol API handlers (Daniel P. Berrange)
- Split out code for handling incoming method call messages (Daniel P. Berrange)
- storage: Break out actual raw cloning to separate function. (Cole Robinson)
- storage: cleanup: do away with 'createFile' (Cole Robinson)
- storage: disk: Use capacity, not allocation, when creating volume. (Cole Robinson)
- storage: Don't try sparse detection if writing to block device. (Cole Robinson)
- storage: Implement 'CreateBlockFrom' helper. (Cole Robinson)
- storage: Implement CreateVolFrom for logical and disk backend. (Cole Robinson)
- storage: Move most of the FS creation functions to common backend. (Cole Robinson)
- storage: Refactor FS backend 'create' function choosing. (Cole Robinson)
- Store the interface vlan number in the domain state (Mark McLoughlin)
- Support <video> element for QEMU guests (Daniel P. Berrange)
- Support <video> tag for defining VGA card properties (Daniel P. Berrange)
- Switch to using a unix socket for the qemu monitor (Mark McLoughlin)
- test: Generate net interface names when assigning XML. (Cole Robinson)
- test: Implement BlockStats and InterfaceStats (Cole Robinson)
- Use cgroups for block device whitelisting in QEMU guests (Daniel P. Berrange)
- Use enums for cgroup controller types / labels (Daniel P. Berrange)
- Use sendmsg() on QEMU monitor socket (Mark McLoughlin)
- Use virDomainChrTypeFromString() instead of open coding (Mark McLoughlin)
- Use virFileReadAll/virFileWriteStr for key cgroup read/write helpers (Daniel P. Berrange)
- virGetinterface matching of MAC and interface name (Laine Stump)
Cleanups:
- Fix configure checks from previous commits (Daniel P. Berrange)
- Avoid a warning if compiling without inotify (Daniel P. Berrange)
- Remove a stray semicolon (Daniel Veillard)
- Extend the ESX URL to habdle ports and GSX (Matthias Bolte)
- Fix escaping of 8-bit high characters (Daniel P. Berrange)
- Remove ATTRIBUTE_UNUSED from flags to qemudDomainMigratePerform. (Chris Lalancette)
- Add a comment about setting errors after qemudStartVMDaemon(). (Chris Lalancette)
- Fix an erroneous debug error to KVM; it should read QEMU/KVM. (Chris Lalancette)
- Remove a stray semicolon in qemudDomainMigratePrepare2. (Chris Lalancette)
- Convert a few stray users of free() in libvirt.c to VIR_FREE(). (Chris Lalancette)
- Use virGetHostname instead of gethostname. (Chris Lalancette)
- Fix up a minor indentation issue with virDomainMigratePrepare. (Chris Lalancette)
- Fix up a silly typo in apibuild.py. (Chris Lalancette)
- Avoid warning when compiling without IFF_VNET_HDR (Maximilian Wilhelm)
- Capilize libvirt-client summary (Mark McLoughlin)
- Move ldconfig calls to libvirt-client %post/%postun (Mark McLoughlin)
- Convert NEWS to UTF-8 (Mark McLoughlin)
- Fix trailing whitespace in NEWS (Mark McLoughlin)
- No need to build require both python-devel and python (Mark McLoughlin)
- Remove executable perms from /etc/sysconfig/libvirtd (Mark McLoughlin)
- Use a %postun -p for one line scriptlet (Mark McLoughlin)
- Don't explicitly require libxml2 (Mark McLoughlin)
- Fix some unowned directories (Mark McLoughlin)
- Kill qemu BuildRequires (Mark McLoughlin)
- Enable netcf by default (Mark McLoughlin)
- Default to with_polkit (Mark McLoughlin)
- Make vbox support configurable (Mark McLoughlin)
- Build with --without-capng if capng is disabled (Mark McLoughlin)
- BuildRequires libcap-ng-devel not capng-devel (Mark McLoughlin)
- Drop curl host check when using ESX without check (Shahar Klein)
- Fix typo in xen capabilities code (Daniel P. Berrange)
- Add bare format string to printf-derivatives troubles (Laine Stump)
- Add phyp files to POTFILES, to make syntax-check happy. (Cole Robinson)
- avoid a make distcheck failure: distribute docs/schemas/interface.rng (Jim Meyering)
- avoid a make distcheck failure: distribute tests/interfaceschemadata/ (Jim Meyering)
- avoid a "make syntax-check" failure (Jim Meyering)
- build: do not emit a trailing blank line into VC'd file, NEWS (Jim Meyering)
- build: update from gnulib, for latest maint.mk (Jim Meyering)
- Clean up error handling in qemudDomainAttachNetDevice() (Mark McLoughlin)
- Cleanup qemu binary detection logic in qemudCapsInitGuest() (Mark McLoughlin)
- Commit newly generated docs, after changes from commit 2348cf. (Cole Robinson)
- Factor qemuBuildHostNetStr() out from qemuBuildCommandLine() (Mark McLoughlin)
- Factor qemuBuildNicStr() out from qemuBuildCommandLine() (Mark McLoughlin)
- Factor qemudMonitorSend() out of qemudMonitorCommandExtra() (Mark McLoughlin)
- Fix cgroup compile warnings (Daniel P. Berrange)
- Fix misc build problems due to new drivers (Daniel P. Berrange)
- Fix wierd build problems due to autopoint overwriting gnulib m4 (Daniel P. Berrange)
- Makefile.cfg: Rename to... (Jim Meyering)
- make .gnulib a submodule (Jim Meyering)
- make "make syntax-check" consistent with "git diff --check" (Jim Meyering)
- Minor qemu monitor coding style fixes (Mark McLoughlin)
- Prepare to use maint.mk from gnulib (Jim Meyering)
- Refactor incoming message handling to prepare for data stream support (Daniel P. Berrange)
- Refactor message sending to allow code reuse for data streams (Daniel P. Berrange)
- remove all .cvsignore files (Jim Meyering)
- remove all trailing blank lines (Jim Meyering)
- Remove some unused variables and cut long lines (Daniel Veillard)
- Remove trailing blank lines (Daniel Veillard)
- Rename a bunch of internal methods to clarify their meaning (Daniel P. Berrange)
- Rename 'direction' to 'type' in remote_message_header (Daniel P. Berrange)
- Report the object name on lookup error (Daniel Veillard)
- Simplify remote driver error reporting (Daniel P. Berrange)
- skip some of gnulib's new rules (Jim Meyering)
- use automake-1.11's silent-rules option, when possible (Jim Meyering)
- use gnumakefile and maintainer-makefile modules from gnulib (Jim Meyering)
It's also good to see a lot of new contributors in this release,
so thanks to everybody !
Daniel