As scheduled, libvirt 0.9.0 was tagged and pushed today, it's available from FTP at: ftp://libvirt.org/libvirt/ This is a large release w.r.t. the amount of features and changes, and well worth bumping the middle version number. We are also getting closer to a 1.0.0 release ! Features: - Support cputune cpu usage tuning (Osier Yang and Nikunj A. Dadhania) - Add public APIs for storage volume upload/download (Daniel P. Berrange) - Add public API for setting migration speed on the fly (Daniel P. Berrange) - Add libxenlight driver (Jim Fehlig and Markus Groß) - qemu: support migration to fd (Eric Blake) - libvirt: add virDomain{Get,Set}BlkioParameters (Gui Jianfeng) - setmem: introduce a new libvirt API (virDomainSetMemoryFlags) (Taku Izumi) - Expose event loop implementation as a public API (Daniel P. Berrange) - Dump the debug buffer to libvirtd.log on fatal signal (Daniel Veillard) - Audit support (Eric Blake) Documentation: - fix typo (Eric Blake) - correct invalid xml (Eric Blake) - virsh: Fix documentation for memtune command (Jiri Denemark) - Fix several formatting mistakes in doc (Michal Privoznik) - mention C89 syntax preferences (Eric Blake) - document recent hook additions (Eric Blake) - Update on the goal page (Daniel Veillard) - Document first release with spice and qxl (Cole Robinson) - Add schema definition for imagelabel (Osier Yang) - update virGetVersion description (Tiziano Mueller) - Improve logging documentation including the debug buffer (Daniel Veillard) - update windows page for initial libvirt 0.8.8 installer (Justin Clift) - formatdomain.html.in: Fix spelling PIC->PCI (Philipp Hahn) - fix missing </p> (Eric Blake) - documenting the 802.1Qbg parameters of a 'direct' interface (Gerhard Stenzel) - silence warnings about generated API docs (Eric Blake) - document <driver name='vhost'/> for interfaces (Eric Blake) - correct range of default NAT subnet (Eric Blake) - formatdomain: Add release info for disk <driver> attributes (Cole Robinson) - Fix spelling mistake: seek (Philipp Hahn) - maint: fix grammar in error message (Eric Blake) Portability: - virsh: fix mingw failure on creating nonblocking pipe (Eric Blake) - Remove iohelper on Win32 since it is not required (Daniel P. Berrange) - Fix domain events C example on Win32 (Daniel P. Berrange) - build: fix compilation on mingw (Eric Blake) - util: use SCM_RIGHTS in virFileOperation when needed (Eric Blake) - Don't use INT64_MAX in libvirt.h because it requires stdint.h (Matthias Bolte) - libvirtd: Remove indirect linking (Guido Günther) - build: avoid compiler warning on cygwin (Eric Blake) - build: fix build on cygwin (Eric Blake) - build: fix building error when building without libvirtd (Wen Congyang) - virsh: Remove indirect link against libxml2 (Guido Günther) - Fix build on cygwin (Daniel Veillard) - Add check for kill() to fix build of cgroups on win32 (Daniel P. Berrange) - build: fix broken mingw cross-compilation (Eric Blake) Bug fixes: - fix memory leak in qemuProcessHandleGraphics() (Wen Congyang) - do not lock vm while allocating memory (Wen Congyang) - Fix libxl driver startup (Daniel Veillard) - qemu: Ignore libvirt debug messages in qemu log (Jiri Denemark) - qemu: Fix improper logic of qemuCgroupSetup (Osier Yang) - free tmp after unlinking it (Wen Congyang) - qemu: Fix media eject with qemu-0.12.* (Jiri Denemark) - check whether qemuMonitorJSONHMP() failed (Wen Congyang) - do not send monitor command after monitor meet error (Wen Congyang) - qemu: unlock qemu driver before return from domain save (Hu Tao) - qemu: fix regression with fd labeling on migration (Eric Blake) - Ignore return value of virDomainObjUnref (Markus Groß) - Fix infinite loop in daemon if client quits with multiple streams open (Daniel P. Berrange) - qemu: fix regression that hangs on save failure (Eric Blake) - qemu: fix restoring a compressed save image (Eric Blake) - util: allow clearing cloexec bit (Eric Blake) - logging: always NUL-terminate circular buffer (Eric Blake) - tests: don't alter state in $HOME (Eric Blake) - qemu: don't restore state label twice (Eric Blake) - Fix syntax error in configure.ac (Osier Yang) - remote: Don't leak gnutls session on negotiation error (Matthias Bolte) - hooks: fix regression in previous patch (Eric Blake) - Add missing { for qemudDomainInterfaceStats (Philipp Hahn) - daemon: Avoid resetting errors before they are reported (Jiri Denemark) - fix the check of the output of monitor command 'device_add' (Wen Congyang) - Make error reporting in libvirtd thread safe (Jiri Denemark) - update domain status forcibly even if attach a device failed (Wen Congyang) - util: Fix return value for virJSONValueFromString if it fails (Osier Yang) - Initialization error of qemuCgroupData in Qemu host usb hotplug (Wen Congyang) - build: fix missing initializer (Eric Blake) - Fix uninitialized variable & error reporting in LXC veth setup (Daniel P. Berrange) - udev: fix regression with qemu:///session (Eric Blake) - logging: fix off-by-one bug (Eric Blake) - do not report OOM error when prepareCall() failed (Wen Congyang) - Don't return an error on failure to create blkio controller (Hu Tao) - qemu: respect locking rules (Eric Blake) - openvz: fix a simple bug in openvzListDefinedDomains() (Jean-Baptiste Rouault) - Fix delayed event delivery when SASL is active (Daniel P. Berrange) - qemu: Fix copy&paste error messages in text monitor (Jiri Denemark) - do not unref obj in qemuDomainObjExitMonitor* (Wen Congyang) - qemu: check driver name while attaching disk (Wen Congyang) - remote: Add missing virCondDestroy calls (Matthias Bolte) - build: improve rpm generation for distro backports (Eric Blake) - storage: Fix a problem which will cause libvirtd crashed (Osier Yang) - Fix misc bugs in virCommandPtr (Daniel P. Berrange) - libvirt: fix a simple bug in virDomainSetMemoryFlags() (Taku Izumi) - qemu: Check the unsigned integer overflow (Osier Yang) - audit: eliminate potential null pointer deref when auditing macvtap devices (Laine Stump) - network driver: don't send default route to clients on isolated networks (Laine Stump) - virsh: Free stream when shutdown console (Osier Yang) - Add missing checks for read only connections (Guido Günther) - qemu: fix -global argument usage (Eric Blake) - Make sure we reset the umask on the error path (Guido Günther) - qemu: Stop guest CPUs before creating a snapshot (Jiri Denemark) - qemu: Escape snapshot name passed to {save,load,del}vm (Jiri Denemark) - qemu: Fix warnings in event handlers (Jiri Denemark) - storage: Update qemu-img flag checking (Osier Yang) - Make sure the rundir is accessible by the user (Guido Günther) - Fix a wrong error message thrown to user (Hu Tao) - unlock eventLoop before calling callback function (Wen Congyang) - fixes for several memory leaks (Phil Petty) - Fix a counter bug in the log buffer (Daniel Veillard) - qemu: avoid corruption of domain hashtable and misuse of freed domains (Laine Stump) - qemu: Add missing lock of virDomainObj before calling virDomainUnref (Laine Stump) - esx: Escape password for XML (Matthias Bolte) - util: correct retry path in virFileOperation (Eric Blake) - util: Allow removing hash entries in virHashForEach (Jiri Denemark) - qemu: avoid double close on domain restore (Eric Blake) - Fix port value parsing for serial and parallel ports (Michal Novotny) - Fix off-by-1 in virFileAbsPath. (Daniel P. Berrange) - security: avoid memory leak (Eric Blake) - protect the scsi controller to be deleted when it is in use (Wen Congyang) - virsh: freecell --all getting wrong NUMA nodes count (Michal Privoznik) - remove duplicated call to reportOOMError (Christophe Fergeau) Improvements: - Make check_fc_host() and check_vport_capable() usable as rvalues (Guido Günther) - maint: avoid locale-sensitivity in string case comparisons (Eric Blake) - extend logging to record configuration-related changes (Naoya Horiguchi) - Add libvirt_iohelper to spec file (Daniel Veillard) - cputune: New tests for cputune XML (Osier Yang) - cputune: Support cputune for xend driver (Osier Yang) - cputune: Support cputune for lxc driver (Osier Yang) - cputune: Support cputune for qemu driver (Osier Yang) - cputune: Implementations of parsing and formating cputune xml (Osier Yang) - cputune: Add data structures presenting cputune XML (Osier Yang) - cputune: Add document for cputune XML (Osier Yang) - cputune: Add XML schema for cputune xml (Osier Yang) - qemu: improve error message on failed fd transfer (Eric Blake) - maint: ignore new built file (Eric Blake) - Add domainSuspend/Resume to libxl driver (Markus Groß) - Add domainGetOSType to libxl driver (Markus Groß) - Add domainGetSchedulerType to libxl driver (Markus Groß) - Implements domainXMLTo/FromNative in libxl driver (Markus Groß) - Add vcpu functions to libxl driver (Markus Groß) - List authors in copyright headers (Markus Groß) - Add event callbacks to libxl driver (Markus Groß) - Remote protocol support for storage vol upload/download APIs (Daniel P. Berrange) - Support volume data upload/download APIs in storage driver (Daniel P. Berrange) - Add vol-upload and vol-download commands to virsh (Daniel P. Berrange) - Enhance the streams helper to support plain file I/O (Daniel P. Berrange) - Update event loop example programs to demonstrate best practice (Daniel P. Berrange) - qemu: support fd: migration with compression (Eric Blake) - qemu: skip granting access during fd migration (Eric Blake) - qemu: consolidate migration to file code (Eric Blake) - qemu: use common API for reading difficult files (Eric Blake) - qemu, storage: improve type safety (Eric Blake) - util: adjust indentation in previous patch (Eric Blake) - util: rename virFileOperation to virFileOpenAs (Eric Blake) - storage: simplify fd handling (Eric Blake) - qemu: simplify domain save fd handling (Eric Blake) - qemu: allow simple domain save to use fd: protocol (Eric Blake) - Update of localisations, switch to transifex (Daniel Veillard) - build: shorten libxenlight summary for consistent alignment (Eric Blake) - command: add virCommandAbort for cleanup paths (Eric Blake) - command: don't mix RunAsync and daemons (Eric Blake) - command: properly diagnose process exit via signal (Eric Blake) - Add memory functions to libxl driver (Markus Groß) - build: enforce reference count checking (Eric Blake) - maint: prohibit access(,X_OK) (Eric Blake) - Get cpu time and current memory balloon from libxl (Markus Groß) - build: nuke all .x-sc* files, and fix VPATH syntax-check (Eric Blake) - command: reject pidfile on non-daemon (Eric Blake) - rpm: add missing dependencies (Eric Blake) - rpm: separate runtime and build requirements (Eric Blake) - qemu: simplify monitor callbacks (Eric Blake) - 8021Qbh: use preassociate-rr during the migration prepare stage (Roopa Prabhu) - Wire up virDomainMigrateSetSpeed into QEMU driver (Daniel P. Berrange) - Wire up virDomainMigrateSetSpeed for the remote RPC driver (Daniel P. Berrange) - maint: update authors (Eric Blake) - Disable libxl build in RPM on Fedora < 16 (Daniel P. Berrange) - qemu: fallback to HMP drive_add/drive_del (Hu Tao) - qemu: Only use HMP passthrough if it is supported (Jiri Denemark) - qemu: Detect support for HMP passthrough (Jiri Denemark) - qemu: add two hook script events "prepare" and "release" (Thibault Vincent) - qemu: simplify interface fd handling in monitor (Eric Blake) - qemu: simplify PCI configfd handling in monitor (Eric Blake) - qemu: simplify monitor fd error handling (Eric Blake) - util: guarantee sane errno in virFileIsExecutable (Eric Blake) - Don't build libxenlight driver for Xen 4.0 (Jim Fehlig) - network driver: log error and abort network startup when radvd isn't found (Laine Stump) - build: translate changes in previous patch (Eric Blake) - Ensure binary is resolved wrt $PATH in virExec (Daniel P. Berrange) - util: Forbid calling hash APIs from iterator callback (Jiri Denemark) - Avoid taking lock in libvirt debug dump (Daniel Veillard) - unlock the monitor when unwatching the monitor (Wen Congyang) - Add vim configuration that makes vim auto-indent code (Hu Tao) - virsh: fix memtune's help message for swap_hard_limit (Nikunj A. Dadhania) - Add PCI sysfs reset access (Alex Williamson) - Support Xen sysctl v8, domctl v7 (Jim Fehlig) - macvtap: log an error if on failure to connect to netlink socket (Laine Stump) - qemu: improve efficiency of dd during snapshots (Eric Blake) - virsh: allow empty string arguments (Eric Blake) - qemu: Fallback to HMP when cpu_set QMP command is not found (Wen Congyang) - Change message for VIR_FROM_RPC error domain (Daniel P. Berrange) - Add compat function for geteuid() (Daniel P. Berrange) - Add virSetBlocking() to allow O_NONBLOCK to be toggle on or off (Daniel P. Berrange) - qemu: use more appropriate error (Eric Blake) - Make LXC container startup/shutdown/I/O more robust (Daniel P. Berrange) - Allow to dynamically set the size of the debug buffer (Daniel Veillard) - qemu: consolidate duplicated monitor migration code (Eric Blake) - qemu: use lighter-weight fd:n on incoming tunneled migration (Eric Blake) - Fix performance problem of virStorageVolCreateXMLFrom() (Minoru Usui) - libvirt-guests: avoid globbing when splitting $URIS (Eric Blake) - libvirt-guest.init: quoting variables (Philipp Hahn) - virsh: Insert error messages to avoid a quiet abortion of commands (Michal Privoznik) - python: Use hardcoded python path in libvirt.py (Jiri Denemark) - virsh: Allow starting domains by UUID (Jiri Denemark) - network driver: Use a separate dhcp leases file for each network (Laine Stump) - network driver: Start dnsmasq even if no dhcp ranges/hosts are specified. (Laine Stump) - libvirt-guest.init: handle domain name with spaces (Philipp Hahn) - domain.rng vs. formatdomain.html#elementsUSB (Philipp Hahn) - Ignore backing file errors in FS storage pool (Philipp Hahn) - remote-protocol: implement new BlkioParameters API (Gui Jianfeng) - virsh: Adding blkiotune command to virsh tool (Gui Jianfeng) - qemu: implement new BlkioParameters API (Gui Jianfeng) - libvirt: implements virDomain{Get,Set}BlkioParameters (Gui Jianfeng) - setmem: add the new options to "virsh setmem" command (Taku Izumi) - setmem: implement the remote protocol to address the new API (Taku Izumi) - setmem: implement the code to address the new API in the qemu driver (Taku Izumi) - audit: audit use of /dev/net/tun, /dev/tapN, /dev/vhost-net (Eric Blake) - qemu: don't request cgroup ACL access for /dev/net/tun (Eric Blake) - qemu: support vhost in attach-interface (Eric Blake) - qemu: Refactor qemuDomainSnapshotCreateXML (Jiri Denemark) - qemu: Fallback to HMP for snapshot commands (Jiri Denemark) - qemu: Setup infrastructure for HMP passthrough (Jiri Denemark) - qemu: Replace deprecated option of qemu-img (Osier Yang) - audit: also audit cgroup ACL permissions (Eric Blake) - cgroup: allow fine-tuning of device ACL permissions (Eric Blake) - audit: rename remaining qemu audit functions (Eric Blake) - audit: also audit cgroup controller path (Eric Blake) - audit: split cgroup audit types to allow more information (Eric Blake) - audit: tweak audit messages to match conventions (Eric Blake) - Don't overwrite virRun error messages (Cole Robinson) - virsh: Change option parsing functions to return tri-state information (Michal Privoznik) - virsh: change vshCommandOptString return type and fix const-correctness (Michal Privoznik) - support to detach USB disk (Wen Congyang) - rename qemuDomainDetachSCSIDiskDevice to qemuDomainDetachDiskDevice (Wen Congyang) - qemu_hotplug: Reword error if spice password change not available (Cole Robinson) - Move event code out of the daemon/ into src/util/ (Daniel P. Berrange) - Convert daemon/virsh over to use primary event APIs, rather than impl (Daniel P. Berrange) - Cleaning up some of the logging code (Daniel Veillard) - qemu: Support vram for video of qxl type (Osier Yang) - Add an an internal API for emergency dump of debug buffer (Daniel Veillard) - Add logrotate support for libvirtd.log (Daniel Veillard) - Change default log policy to libvirtd.log instead of syslog (Daniel Veillard) - Force all logs to go to the round robbin memory buffer (Daniel Veillard) - AUTHORS: adjust to preferred spelling (KAMEZAWA Hiroyuki) - Pass virSecurityManagerPtr to virSecurityDAC{Set, Restore}ChardevCallback (Soren Hansen) - maint: update to latest gnulib (Eric Blake) - Attempt to improve an error message (Daniel P. Berrange) - add additional event debug points (Daniel P. Berrange) - qemu: only request sound cgroup ACL when required (Eric Blake) - Add support for multiple serial ports into the Xen driver (Michal Novotny) - Add APIs for killing off processes inside a cgroup (Daniel P. Berrange) - Allow hash tables to use generic pointers as keys (Daniel P. Berrange) - Remove deallocator parameter from hash functions (Daniel P. Berrange) - Make commandtest more robust wrt its execution environment (Daniel P. Berrange) - audit: audit qemu pci and usb device passthrough (Eric Blake) - audit: audit qemu memory and vcpu adjusments (Eric Blake) - audit: add qemu hooks for auditing cgroup events (Eric Blake) - audit: prepare qemu for listing vm in cgroup audits (Eric Blake) - cgroup: determine when skipping non-devices (Eric Blake) - virExec: avoid uninitialized memory usage (Eric Blake) - Allow 32-on-64 execution for LXC guests (Daniel P. Berrange) - Put <stdbool.h> into internal.h so it is available everywhere (Daniel P. Berrange) - qemu: Switch over command line capabilities to virBitmap (Jiri Denemark) - qemu: Rename qemud\?CmdFlags to qemuCaps (Jiri Denemark) - qemu: Use helper functions for handling cmd line capabilities (Jiri Denemark) - qemu: Rename QEMUD_CMD_FLAG_* to QEMU_CAPS_* (Jiri Denemark) - util: Add API for converting virBitmap into printable string (Jiri Denemark) - util: Use unsigned long as a base type for virBitmap (Jiri Denemark) - Expose name + UUID to LXC containers via env variables (Daniel P. Berrange) - Fix discard of expected errors (Daniel P. Berrange) - Fix group/mode for /dev/pts inside LXC container (Daniel P. Berrange) - 802.1Qbh: Delay IFF_UP'ing interface until migration final stage (Roopa Prabhu) - storage: make debug log more useful (Osier Yang) - virsh: replace vshPrint with vshPrintExtra for snapshot list Otherwise extra information will be printed even if "--quiet" is specified. (Osier Yang) - check device-mapper when building with mpath or disk storage driver (Wen Congyang) - build: add dependency on gnutls-utils (Eric Blake) - Renamed functions in xenxs (Markus Groß) - Moved XM formatting functions to xenxs (Markus Groß) - Moved XM parsing functions to xenxs (Markus Groß) - Moved SEXPR formatting functions to xenxs (Markus Groß) - Moved SEXPR parsing functions to xenxs (Markus Groß) - Moved some SEXPR functions from xen-unified (Markus Groß) - Moved SEXPR unit to utils (Markus Groß) - virt-*-validate.in: quote all variable references (Dan Kenigsberg) - virt-pki-validate: behave when CERTTOOL is missing (Dan Kenigsberg) - autobuild.sh: use VPATH build (Eric Blake) - maint: fix 'make dist' in VPATH build (Eric Blake) - build: don't require pod2man for tarball builds (Eric Blake) - hash: make virHashFree more free-like (Eric Blake) - build: Fix API docs generation in VPATH build (Jiri Denemark) - Remove all object hashtable caches from virConnectPtr (Daniel P. Berrange) - nwfilter: enable rejection of packets (Stefan Berger) - Drop empty argument from dnsmasq call (Guido Günther) - esx: Ignore malformed host UUID from BIOS (Matthias Bolte) - build: speed up non-maintainer builds (Eric Blake) - build: recompute symbols after changing configure options (Eric Blake) - Requires gettext for client package (Osier Yang) - Do not add drive 'boot=on' param when a kernel is specified (Jim Fehlig) - factor common code in virHashAddEntry and virHashUpdateEntry (Christophe Fergeau) - add hash table rebalancing in virHashUpdateEntry (Christophe Fergeau) - hash: modernize debug code (Eric Blake) - build: improve 'make install' for VPATH builds (Eric Blake) - check more error info about whether drive_add failed (Wen Congyang) - logging: make VIR_ERROR and friends preserve errno (Eric Blake) - maint: avoid 'make syntax-check' from tarball (Eric Blake) - Give each virtual network bridge its own fixed MAC address (Laine Stump) - Allow brAddTap to create a tap device that is down (Laine Stump) - Add txmode attribute to interface XML for virtio backend (Laine Stump) - Restructure domain struct interface "driver" data for easier expansion (Laine Stump) - build: Fix VPATH build (Jiri Denemark) - storage: Allow to delete device mapper disk partition (Osier Yang) Cleanups: - The next release is 0.9.0 not 0.8.9 (Daniel Veillard) - maint: use space, not tab, in remote_protocol-structs (Eric Blake) - Remove the Open Nebula driver (Daniel P. Berrange) - domain_conf: drop unused ref-count in snapshot object (Eric Blake) - Update the set of maintainers for the project (Daniel Veillard) - Make virDomainObjParseNode() static (Hu Tao) - maint: make spacing in .sh files easier (Eric Blake) - network driver: Fix indentation from previous commit (Laine Stump) - qemu: Rename qemuMonitorCommandWithHandler as qemuMonitorText* (Jiri Denemark) - qemu: Rename qemuMonitorCommand{,WithFd} as qemuMonitorHMP* (Jiri Denemark) - maint: avoid long lines in more tests (Eric Blake) - maint: kill all remaining uses of old DEBUG macro (Eric Blake) - maint: Expand tabs in python code (Jiri Denemark) - remove space between function name and ( (Christophe Fergeau) - don't check for NULL before calling virHashFree (Christophe Fergeau) - remove no longer needed calls to virReportOOMError (Christophe Fergeau) - Move all the QEMU migration code to a new file (Daniel P. Berrange) - Split all QEMU process mangement code into separate file (Daniel P. Berrange) Thanks to everybody who helped one way or another for this release ! Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list