El Software y el conocimiento debe ser Libre
Posts tagged KVM
libvirt Perl binding Sys::Virt, release 0.9.9
Jan 10th
The libvirt Perl binding, Sys::Virt, release 0.9.9 is now available for download:
http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Sys-Virt-0.9.9.tar.gz
In this release 0.9.9:
- Add all new APIs in libvirt 0.9.9
- Fix crash in get_hostname
- Fix docs typos & nesting screwups
- Add example for calculating CPU utilization of host
- Update META.yml with correct license info
- Add missing dep on Time::HiRes
- Convert CHANGES file to Changes & format to comply with Test::CPAN::Changes
The module homepage, where online documentation, and historical downloads can be found is:
Nueva versión de Libvirt 0.9.8
Dec 9th
Un mes después, exactamente, de la salida de la versión anterior, la versión 0.9.8 esta disponible en
ftp://libvirt.org/libvirt/
Esta versión es una mezcla de nuevas mejoras, correcciones y nuevas características:
Features:
- Add support for QEMU 1.0 (Jiri Denemark)
- Add PPC cpu driver. (Prerna Saxena)
- Add new API virDomain{Set, Get}BlockIoTune (Lei Li)
- block_resize: Define the new API (Osier Yang)
- Add a public API to invoke suspend/resume on the host (Srivatsa S. Bhat)
- various improvements for LXC containers (Daniel P. Berrange)
- Define keepalive protocol and add virConnectIsAlive API (Jiri Denemark)
- Add support for STP filtering (Stefan Berger)
- Add support for VLAN filtering (Stefan Berger)
Documentation:
- Add documentation for <disk><source type=”dir”> (Christophe Fergeau)
- Fix typo in virDomainResume API doc (Christophe Fergeau)
- maint: fix improper use of ‘an’ (Eric Blake)
- virsh: translate net-info help (Eric Blake)
- maint: typo fixes (Eric Blake)
- virsh: Fix typos in man page (Jiri Denemark)
- rpc: Fix a typo in virNetClientSendNonBlock documentation (Jiri Denemark)
- docs: fix grammar of capabilities (Eric Blake)
- Documentation about chains’ priorities, lists of elements etc. (Stefan Berger)
Portability:
- spec: don’t use chkconfig –list (Eric Blake)
- build: fix build with older libxml2 (Eric Blake)
- Conditionalize daemonPath decl for Win32 which lacks UNIX sockets (Daniel P. Berrange)
- build: reduce warnings from older gcc (Eric Blake)
- Fix incorrect symbols for virtime.h module breaking Mingw32 (Daniel P. Berrange)
- build: fix build on Cygwin (Eric Blake)
- build: fix build at -O2 on rawhide (Eric Blake)
- Fix build for platforms lacking struct ifreq (Daniel P. Berrange)
- build: fix ‘make dist’ without dtrace (Eric Blake)
- Don’t use undocumented __isleap macro (Daniel P. Berrange)
- virnetsocket: pass XAUTORITY for ssh connection (Christian Franke)
- Fix build on Mingw32 wrt export of virNetServerGetDBusConn (Daniel P. Berrange)
- build: fix compile error with no macvtap (Eric Blake)
- Fix build with polkit0 (Jim Fehlig)
- Fix strchr call triggering gcc 4.3 & 4.4 bug (Stefan Berger)
- PATCH: Fix build without MACVTAP (Michael Wood)
- util: fix compile error on debian (Eli Qiao)
- Disable numactl on ARM architectures too (Daniel P. Berrange)
- Add libvirt confdir to files section in mingw32 spec (Daniel P. Berrange)
- build: fix mingw build of gnulib openpty (Eric Blake)
Bug Fixes:
- Fix updating of haveTheBuck in RPC client to be race-free (Daniel P. Berrange)
- Prevent crash of libvirtd when attaching to existing qemu process (Jim Fehlig)
- qemu: Ignore shutdown event from destroyed domain (Jiri Denemark)
- remote_driver: don’t fail if keepalive check fails (Guido Günther)
- command: handle empty buffer argument correctly (Eric Blake)
- client: Check if other thread claims it has the buck before claiming it. (Peter Krempa)
- Avoid crash in shunloadtest (Daniel P. Berrange)
- Fix a logic error for setting block I/O (Lei Li)
- virsh: Allow other escape characters for console (Michal Privoznik)
- bridge_driver: Don’t define network if XML contains more IPv4 adreses. (Peter Krempa)
- virsh: Fix possible deadlock when virsh is about to exit (Jiri Denemark)
- util: Plug memory leak on virNetDevMacVLanCreateWithVPor
- util: Plug memory leak on virNetDevBridgeGet() sucessful path (Alex Jia)
- uml: Plug memory leak on umlStartVMDaemon() error path (Alex Jia)
- rpc: Plug memory leak on virNetClientSendInternal() error path (Alex Jia)
- conf: Plug memory leak on virDomainDefParseXML() error path (Alex Jia)
- qemu: Plug memory leak onqemuProcessWaitForMonitor() error path (Alex Jia)
- conf: reject duplicate paths in device weights (Eric Blake)
- Make logging async signal safe wrt time stamp generation (Daniel P. Berrange)
- Don’t mark suspend as active until we know it is running (Daniel P. Berrange)
- util: avoid null deref on qcowXGetBackingStore (Alex Jia)
- virsh: correct return value error (Alex Jia)
- qemu: fix blkiotune –live –config (Eric Blake)
- lxc: Fix suspend/resume with freezer cgroup (Jiri Denemark)
- rpc: Really send non-blocking calls while waiting for another call (Jiri Denemark)
- util: fix thinko in runIO (Paolo Bonzini)
- storage: Skip socket and fifo on pool-start (Michal Privoznik)
- conf: Don’t drop console definition on domain restart (Michal Privoznik)
- qemu: Avoid dereference of NULL pointer (Peter Krempa)
- nwfilter: Initialize virNWFilterAddIpAddrForIfname return variable (Michal Privoznik)
- Fix disabling of virtual port profile code on old hosts (Daniel P. Berrange)
- Fix uninitialized variable in NWfilter IP learning code (Daniel P. Berrange)
- storage: Fallback to use lvchange first if lvremove fails (Chang Liu)
- conf: don’t modify cpu set string during parsing (Eric Blake)
- qemu: don’t release network actual device twice (Roopa Prabhu)
- tests: avoid xend ABRT crash report (Eric Blake)
- Fix use of uninitialized variable in QEMU driver (Daniel P. Berrange)
- snapshot: refuse to generate names for non-regular backing files (Eric Blake)
- fix a bug in remoteSerializeTypedParameters (Hu Tao)
- Don’t return a fatal error if receiving unexpected stream data (Daniel P. Berrange)
- Fix handling of stream EOF (Daniel P. Berrange)
- storage: forbid rebuilding existing disk storage pools (Guido Günther)
- qemu: fix domjobabort regression (Eric Blake)
- fix two bugs in bridge_driver.c (Hu Tao)
- nwfilter: avoid failure with noexec /tmp (Eric Blake)
- lxc: free error object to avoid memory leak (Alex Jia)
- lxc: free ‘ttyFDs’ array on return from lxcVmStart (Alex Jia)
Improvements:
- npiv: Expose fabric_name outside (Osier Yang)
- Improve error reporting when libvirtd is not installed (Daniel P. Berrange)
- spec: fix sanlock dependency (Eric Blake)
- spec: add dmidecode as prereq (Eric Blake)
- examples: Update event tests for shutdown event (Jiri Denemark)
- qemu: Rework handling of shutdown event (Jiri Denemark)
- python: Expose binding for virNodeGetMemoryStats() (Peter Krempa)
- python: Expose binding for virNodeGetCPUStats() (Peter Krempa)
- build: require more tools from maintainers (Eric Blake)
- apparmor: allow tunnelled migrations. (Serge Hallyn)
- Update of filters to handle multiple IP addresses (Stefan Berger)
- build: update to latest gnulib (Eric Blake)
- build: properly skip tests (Eric Blake)
- spec: mark directories in /var/run as ghosts (Eric Blake)
- qemu: filter blkio 0-device-weight at two other places (Hu Tao)
- qemu: amend existing table of device weights (Eric Blake)
- virsh: fix setting weight and device-weights at the same time (Hu Tao)
- Add tests for blkdeviotune (Lei Li)
- Support virDomain{Set, Get}BlockIoTune in the python API (Lei Li)
- Enable the blkdeviotune command in virsh (Lei Li)
- Implement virDomain{Set, Get}BlockIoTune for the qemu driver (Lei Li)
- Support block I/O throttle in XML (Lei Li)
- Add virDomain{Set, Get}BlockIoTune support to the remote driver (Lei Li)
- Fix leak build config file path (Daniel P. Berrange)
- Add internal APIs for dealing with time (Daniel P. Berrange)
- Remove obsolete virGetPMCapabilities sym from private symbols file (Daniel P. Berrange)
- Add suspend info to Xen, LXC and UML hypervisor capabilities (Daniel P. Berrange)
- Remove pointless strdup in node suspend code (Daniel P. Berrange)
- Do lazy init of host PM features (Daniel P. Berrange)
- Remove powerMgmt_valid field from capabilities struct (Daniel P. Berrange)
- Add export of node suspend capabilities APIs (Daniel P. Berrange)
- Move suspend capabilities APIs out of util.h into virnodesuspend.c (Daniel P. Berrange)
- Rename suspend capabilities APIs (Daniel P. Berrange)
- Sanitize virDiscoverHostPMFeature to return a boolean (Daniel P. Berrange)
- Move the virHostPMCapability enum helpers into capabilities.c (Daniel P. Berrange)
- Fix capabilities XML to use generic terms for suspend targets (Daniel P. Berrange)
- Remove internal only virHostPMCapability enum (Daniel P. Berrange)
- Fix values of PM target type constants (Daniel P. Berrange)
- blkiotune: add qemu support for blkiotune.device_weight (Hu Tao)
- blkiotune: add interface for blkiotune.device_weight (Hu Tao)
- qemu, lxc: drop redundant checks (Eric Blake)
- API: prevent query of –live and –config at once (Eric Blake)
- build: fix typo in last patch (Eric Blake)
- block_resize: Update test file for RPC (Osier Yang)
- block_resize: Expose the new API to virsh (Osier Yang)
- block_resize: Implement qemu driver method (Osier Yang)
- block_resize: Implement qemu monitor functions (Osier Yang)
- block_resize: Wire up the remote protocol (Osier Yang)
- examples: Correct the example command to use testnode.xml (Osier Yang)
- Add virsh command to initiate suspend on the host (Srivatsa S. Bhat)
- Implement the core API to suspend/resume the host (Srivatsa S. Bhat)
- Add the remote protocol implementation for virNodeSuspendForDuration (Srivatsa S. Bhat)
- Add ‘Hybrid-Suspend’ power management discovery for the host (Srivatsa S. Bhat)
- virsh: Don’t traverse childless nodes in vshNodeIsSuperset (Michal Privoznik)
- conf: make virt-xml-validate work with vbox domains (Lorin Hochstein)
- conf: Improve incorrect root element error messages (Michal Privoznik)
- Refactor initial LXC mem tune / device ACL code (Daniel P. Berrange)
- Add support for blkio tuning of LXC containers (Daniel P. Berrange)
- Add support for CPU quota/period to LXC driver (Daniel P. Berrange)
- Support CPU placement in LXC driver (Daniel P. Berrange)
- Support NUMA memory placement for LXC containers (Daniel P. Berrange)
- storage: Refetch file status after open (Michal Privoznik)
- Fix version numbers for isAlive and setKeepAlive driver APIs (Jiri Denemark)
- build: Properly generate and check virkeepaliveprotocol-structs (Jiri Denemark)
- examples: Use virConnectOpenAuth in events-c (Jiri Denemark)
- qemu: Cancel p2p migration when connection breaks (Jiri Denemark)
- qemu: Add support for keepalive messages during p2p migration (Jiri Denemark)
- Add keepalive support into domain-events examples (Jiri Denemark)
- Implement virConnectIsAlive in all drivers (Jiri Denemark)
- Introduce virConnectIsAlive API (Jiri Denemark)
- Implement keepalive protocol in remote driver (Jiri Denemark)
- Add support for async close of client RPC socket (Jiri Denemark)
- Implement keepalive protocol in libvirt daemon (Jiri Denemark)
- virsh: Always run event loop (Jiri Denemark)
- Introduce virConnectSetKeepAlive (Jiri Denemark)
- Implement common keepalive handling (Jiri Denemark)
- rpc: Add some debug messages to virNetClient (Jiri Denemark)
- rpc: Fix handling of non-blocking calls that could not be sent (Jiri Denemark)
- rpc: Pass the buck only to the first available thread (Jiri Denemark)
- nwfilter: remove virConnectPtr from internal API calls (Stefan Berger)
- API: prefer ‘disk’ over ‘block’ or ‘path’ (Eric Blake)
- blockstats: support lookup by path in blockstats (Eric Blake)
- virsh: Increase device-detach intelligence (Michal Prívozník)
- Enable detection of multiple IP addresses (Stefan Berger)
- fix error message when using wrong URI alias (Eli Qiao)
- Pass additional parameter into applyDHCPOnly function (Stefan Berger)
- nwfilter: use shell variable to invoke ‘ip(6)tables’ command (Stefan Berger)
- nwfilter: use shell variable to invoke ‘ebtables’ command (Stefan Berger)
- Improve error reporting of failures to apply filtering rules (Stefan Berger)
- Add documentation for STP filtering support (Stefan Berger)
- Add test cases for STP traffic filtering (Stefan Berger)
- Add a ‘mac’ chain (Stefan Berger)
- Add strings.h include to capabilities.h for ffs() function prototype (Daniel P. Berrange)
- build: Update AUTHORS (Osier Yang)
- Export KVM Host Power Management capabilities (Srivatsa S. Bhat)
- qemu: Copy console definition from serial (Michal Privoznik)
- storage: Skips backingStore of virtual snapshot lv (Osier Yang)
- Add documentation for VLAN filtering support (Stefan Berger)
- Add test cases for VLAN traffic filtering (Stefan Berger)
- Don’t copy sexpr node value that is an empty string (Jim Fehlig)
- enable cgroup cpuset by default (Hu Tao)
- tests: test recent hash addition (Eric Blake)
- Add test cases for parsing of list values (Stefan Berger)
- Extend NWFilter parameter parser to cope with lists of values (Stefan Berger)
- Create rules for each member of a list (Stefan Berger)
- Rework value part of name-value pairs (Stefan Berger)
- Add test cases (Stefan Berger)
- Interleave jumping into chains with filtering rules in ‘root’ table (Stefan Berger)
- Extend rule priorities into negative numbers (Stefan Berger)
- Enable chains with names having a known prefix (Stefan Berger)
- Extend the filter XML to support priorities of chains (Stefan Berger)
- Use the actual names of chains in data structure (Stefan Berger)
- Use scripting for cleaning and renaming of chains (Stefan Berger)
- Make filter creation in root table more flexible (Stefan Berger)
- Introduce an internal priority for chains (Stefan Berger)
- Add function to get hash table’s key/value pairs (Stefan Berger)
- Add support for systemd init service (Daniel P. Berrange)
- Add support for interfaces with type=direct to LXC (Daniel P. Berrange)
- Allow creation of plain macvlan devices (Daniel P. Berrange)
- Refactor LXC network setup to allow future enhancements (Daniel P. Berrange)
- Add missing ‘const’ annotations for internal domain conf helpers (Daniel P. Berrange)
- qemu: Generate -numa option (Bharata B Rao)
- XML definitions for guest NUMA and parsing routines (Bharata B Rao)
- virsh: add iface-bridge and iface-unbridge commands (Laine Stump)
- Allow non-blocking message sending on virNetClient (Daniel P. Berrange)
- Refactor code for enabling/disabling I/O callback in remote client (Daniel P. Berrange)
- Split virNetClientSend into 2 methods (Daniel P. Berrange)
- Refactor code for passing the buck in the remote client (Daniel P. Berrange)
- Explicitly track whether the buck is held in remote client (Daniel P. Berrange)
- Remove all linked list handling from remote client event loop (Daniel P. Berrange)
- util: Add netdev helper functions to private symbols (Eli Qiao)
- qemu/rbd: improve rbd device specification (Sage Weil)
- maint: fix build (Stefan Berger)
- Fix error reporting in port profile parsing/formatting APIs (Daniel P. Berrange)
- API: add trivial qemu support for VIR_TYPED_PARAM_STRING (Eric Blake)
- API: remote support for VIR_TYPED_PARAM_STRING (Eric Blake)
- API: add VIR_TYPED_PARAM_STRING (Eric Blake)
- maint: use mailmap, not AUTHORS, for secondary addresses (Eric Blake)
- maint: fix make syntax-check (Stefan Berger)
- nwfilter: simplify execution of ebiptables scripts (Eric Blake)
- Remove usage of brctl command line tool (Daniel P. Berrange)
- Add an API for retrieving the MAC address of an interface (Daniel P. Berrange)
- Expose MTU management APIs (Daniel P. Berrange)
- Turn two int parameters into bools in bridge APIs (Daniel P. Berrange)
- Make all brXXX APIs raise errors, instead of returning errnos (Daniel P. Berrange)
- build: allow for local gnulib diffs (Eric Blake)
- qemu: Fix improper error message for disk detaching (Osier Yang)
- virsh: Add VSH_OFLAG_EMPTY_OK for attach-disk command (Xu He Jie)
Cleanups:
- Remove time APIs from src/util/util.h (Daniel P. Berrange)
- bandwidth: Fix funky identation (Michal Privoznik)
- qemu: fix a const-correctness issue (Eric Blake)
- build: fix accidental POTFILES.in regression (Eric Blake)
- Fix up ordering of private symbols file (Daniel P. Berrange)
- Move ifaceMacvtapLinkDump and ifaceGetNthParent functions (Daniel P. Berrange)
- Move functions for dealing with physical/virtual devices (Daniel P. Berrange)
- Rename APIs for dealing with virtual/physical functions (Daniel P. Berrange)
- Move virNetDevValidateConfig to virnetdev.c (Daniel P. Berrange)
- Rename ifaceCheck to virNetDevValidateConfig (Daniel P. Berrange)
- Move virNetDevGetIPv4Address to virnetdev.c (Daniel P. Berrange)
- Rename ifaceGetIPAddress to virNetDevGetIPv4Address (Daniel P. Berrange)
- Move virNetDevGetIndex & virNetDevGetVLanID to virnetdev.c (Daniel P. Berrange)
- Rename ifaceGetIndex and ifaceGetVLAN (Daniel P. Berrange)
- Move MAC address replacement functions to virnetdev.c (Daniel P. Berrange)
- Rename interface MAC address replacement APIs (Daniel P. Berrange)
- Move the low level macvlan creation APIs (Daniel P. Berrange)
- Rename low level macvlan creation APIs (Daniel P. Berrange)
- Rename high level macvlan creation APIs (Daniel P. Berrange)
- Rename and split the macvtap.c file (Daniel P. Berrange)
- Rename Macvtap management APIs (Daniel P. Berrange)
- Remove ifaceSetMac and ifaceGetMac APIs (Daniel P. Berrange)
- Remove ifaceUp, ifaceDown, ifaceCtrl & ifaceIsUp APIs (Daniel P. Berrange)
- Move LXC veth.c code into shared utility APIs (Daniel P. Berrange)
- Rename the LXC veth management APIs and delete duplicated APIs (Daniel P. Berrange)
- Split src/util/network.{c,h} into 5 pieces (Daniel P. Berrange)
- Rename virVirtualPortProfileParams & APIs (Daniel P. Berrange)
- build: drop useless dirent.h includes (Eric Blake)
- xenapi: remove unused variable (Eric Blake)
- Remove code instantiating filters on direct interfaces (Stefan Berger)
- Adjust naming of network device bandwidth management APIs (Daniel P. Berrange)
- Santize naming of socket address APIs (Daniel P. Berrange)
- Split bridge.h into three separate files (Daniel P. Berrange)
- Rename all brXXXX APIs to follow new convention (Daniel P. Berrange)
- Remove ‘brControl’ object (Daniel P. Berrange)
Archivos de configuración XML en KVM
Nov 4th
A través del comando virsh podemos manejar archivos de configuración XML para KVM. Podemos utilizarlo como una ventaja para escribir implementaciones grandes con opciones especiales. Podemos agregar dispositivos definidos en un archivo XML a un huésped para-virtualizado que se encuentre en ejecución. Por ejemplo, para añadir un archivo ISO como hdc a un huésped en ejecución, creamos un archivo xml:
<disk type="file" device="disk"> <driver name="file"/> <source file="/var/lib/libvirt/images/rhn-satellite-5.0.1-11-redhat-linux-as-i386-4-embeddedoracle.iso"/> <target dev="hdc"/> <readonly/> </disk>
Ejecutamos el comando virsh attache-device para añadir el ISO como dispositivo hdc al huésped llamado “maquinakvm”:
# virsh attach-device maquinakvm satelliteiso.xml
Desde este momento tendremos disponible dicho dispositivo en nuestra máquina virtual. Ahora solo faltaría montarla en la misma.
Nueva versión de libvirt 0.9.4
Aug 3rd
With an extra day of delay but allowing to pick all coverity checks related patches from Eric, the release is out, I hope it's solidavailable as usual at: ftp://libvirt.org/libvirt/
libvirt-0.9.4.tar.gz along with signed RPMs This is again a fairly big release with more than 400 commits included, both new API, improvement and a large amount of fixes: Features: - bandwidth QoS control (Michal Privoznik) - Add new API virDomainBlockPull* (Adam Litke) - save: new API to manipulate save file images (Eric Blake) - CPU bandwidth limits support (Wen Congyang) - allow to send NMI and key event to guests (Lai Jiangshan) - new API virDomainUndefineFlags (Osier Yang) - Implement code to attach to external QEMU instances. (Daniel P. Berrange) - various missing python binding (Hu Tao and Lai Jiangshan) - bios: Add support for SGA (Michal Privoznik) Documentation: - doc: fix confusing statement about required privileges (Eric Blake) - doc: fix incorrect option in blockjob (Alex Jia) - Correct the default value of lock_manager in qemu.conf (Guannan Ren) - libvirt.c: Update outdated description of flags (Michal Privoznik) - qemu: Improve docs for virsh dump format (Osier Yang) - qemu: improve thread documentation (Eric Blake) - doc: Add doc for blockpull and blockjob commands (Osier Yang) - Fix incorrect implication about list options (Dave Allan) - Fix typos in virsh.pod file (Daniel P. Berrange) - network: Fix typo (Osier Yang) - Break up 'Basic Resources' XML section (Cole Robinson) - driver.h: Fix two driver documentation mistakes (Wieland Hoffmann) - doc: Add documentation for new cputune elements period and quota (Wen Congyang) - doc: Correct documents for iface commands (Osier Yang) - improve virsh man page synopses (Eric Blake) - Fix spice documentation typo (Michal Privoznik) - document dxml argument to migrate2 (Eric Blake) - website: Point main page links to libvirt driver pages (Dave Allan) - maint: fix typos (Eric Blake) - mention EMOTIVE as a libvirt-using app (Eric Blake) - virsh: Update virsh man page (Supriya Kannery) - Fix virsh inject-nmi man page (KAMEZAWA Hiroyuki) - virsh: make destroy sound less scary (Eric Blake) - minor whitespace cleanups (Eric Blake) - Add documentation for the seclabel XML element (Daniel P. Berrange) Portability: - build: fix include path for cygwin (Eric Blake) - build: avoid non-portable shell in test setup (Eric Blake) - tests: Don't use bash if we don't have to (Matthias Bolte) - freebsd: Fix build problem due to picking up the wrong libvirt.h (Matthias Bolte) - freebsd: Avoid /bin/true in commandtest (Matthias Bolte) - freebsd: Add gnulib environ module for the commandtest (Matthias Bolte) - build: support warnings on RHEL 5 (Eric Blake) - Build: fix build if HAVE_AVAHI is not defined (Stefan Berger) - sysinfo: Don't try to run dmidecode on archs missing it (Michal Privoznik) - udev: Don't try to dump DMI on non-intel archs (Michal Privoznik) - Fix build when using polkit0 (Jim Fehlig) - Fix rpm build with sanlock and without QEmu (Daniel Veillard) - Skip some xen tests if xend is not running (Jim Fehlig) - build: fix virBufferVasprintf on mingw (Eric Blake) - Fix compilation of statstest.c during make check (Jim Fehlig) - Fix compilation error when SASL support is disabled (Jean-Baptiste Rouault) - tests: Disable networkxml2argvtest when configured without network (Matthias Bolte) Bug Fixes: - util: plug memory leak (Eric Blake) - rpc: avoid null deref (Eric Blake) - qemu: avoid memory leaks (Eric Blake) - qemu: plug child process leak on domain core dump (Eric Blake) - conf: avoid memory leak on disk operations (Eric Blake) - rpc: avoid crash on error (Eric Blake) - qemu: avoid null deref on block pull error (Eric Blake) - rpc: correctly process sasl whitelist globs (Eric Blake) - screenshot: don't unlink bogus file (Eric Blake) - python: avoid unlikely sign extension bug (Eric Blake) - rpc: avoid uninitialized memory use (Eric Blake) - rpc: avoid double close on error (Eric Blake) - qemu: Unlink temporary file on failure (Michal Privoznik) - rpc: avoid libvirtd crash on unexpected client close (Eric Blake) - virsh: fix memory leak in cmdNetworkInfo (Alex Jia) - openvz: detect when a domain was shut down from the inside (Jean-Baptiste Rouault) - qemu: fix crash when mixing sync and async monitor jobs (Eric Blake) - qemu: fix return value issue (Alex Jia) - qemu: fix return value issue in qemuDomainSetMemoryParameters (Alex Jia) - virsh: Fix vol-name and vol-pool commands (Matthias Bolte) - qemu: Fix a regression of domjobabort (Osier Yang) - conf: Don't leak the virtual port profile in virNetworkDefFree (Matthias Bolte) - network: don't forward DNS requests from isolated networks (Laine Stump) - virsh: avoid missing zero value judgement in cmdBlkiotune (Alex Jia) - qemu: fix nested job with driver lock held (Eric Blake) - qemu: Fix memory leak on metadata fetching (Michal Privoznik) - virsh: fix memory leak in cmdVolPath code (Alex Jia) - rpc: Fix memory leak in remoteDomainSet*Parameters functions (Matthias Bolte) - qemu: Recover from interrupted migration (Jiri Denemark) - python: Properly report errors if virStreamRecv fails (Cole Robinson) - Fix race in ref counting when handling RPC jobs (Daniel P. Berrange) - Fix build with gnutls 1.0.x branch (Daniel P. Berrange) - Add libtasn1-devel as a BuildRequires for libvirt.spec (Daniel P. Berrange) - Add mutex protection to SASL and TLS modules (Daniel P. Berrange) - Report error if unable to bind to any socket (Daniel P. Berrange) - Fix leak of mDNS object in virNetServer (Daniel P. Berrange) - Fix memory leaks in MDNS code (Daniel P. Berrange) - python: Handle embedded NUL in stream.send data (Cole Robinson) - Catch dnsmasq start failures (Guido Günther) - Fix import of private key with older gnutls (Daniel P. Berrange) - Fix TLS context tests with expired certs (Daniel P. Berrange) - Honour filesystem readonly flag & make special FS readonly (Daniel P. Berrange) - xenapi: Fix double-freeing the session in xenapiClose (Matthias Bolte) - remote: Fix forgotten comma (Michal Privoznik) - qemu: fix error message with migrate2 xml (Eric Blake) - command: avoid leaking fds across fork (Eric Blake) - error: preserve errno when saving last error (Eric Blake) - Fix uninitialized variable in QEMU CPU bandwidth code (Daniel P. Berrange) - fix make syntax-check error (Wen Congyang) - rpc: Pass through DISPLAY so ssh can launch askpass (Cole Robinson) - Don't try to close a NULL virNetClientPtr (Guannan Ren) - Honour key usage/purpose criticality flag (Daniel P. Berrange) - Fix reporting of errors for p2p migration (Daniel P. Berrange) - Use a virFreeCallback on virNetSocket to ensure safe release (Daniel P. Berrange) - Add mutex locking and reference counting to virNetSocket (Daniel P. Berrange) - util: avoid fds leak when virEventPollAddHandle fail (Alex Jia) - virsh: avoid double free of domain (Alex Jia) - build: Fix protocol-structs check in VPATH build (Jiri Denemark) - Fix now dead cleanup of VMs on libvirtd restart (Daniel P. Berrange) - qemu: Fix a regression of attaching device (Osier Yang) - storage: Avoid memory leak on metadata fetching (Michal Privoznik) - qemu: Don't overwrite errors by closefd in error paths (Jiri Denemark) - qemu: Save domain status ASAP after creating qemu process (Jiri Denemark) - util: Avoid duplicating virFileOpenAsNoFork in virFileOpenAs (Jiri Denemark) - virsh: fix missing prompt message for 'snapshot-delete' command (Nan Zhang) - Ensure signal handler propagates fatal signals to default handler (Daniel P. Berrange) - qemu: Fix monitor unlocking in some error paths (Jiri Denemark) - esx: Initialize all instances of esxVMX_Data to zero (Matthias Bolte) - qemu: avoid fd leak on core dump failure (Eric Blake) - domain_conf: Free temporary variable (Michal Privoznik) - esx: Fix a potential crash (Osier Yang) - remote: Fix memory leak (Alex Jia) - kill vm if saving config failed in v3 protocol (Wen Congyang) - Don't exit if the libvirtd config does not exist (Daniel P. Berrange) - Fix sending of reply to final RPC message (Daniel P. Berrange) - Fix leak of remote driver if final 'CLOSE' RPC call fails (Daniel P. Berrange) - Fix release of outgoing stream confirmation/abort message (Daniel P. Berrange) - Fix leak of 'msg' object in client stream code (Daniel P. Berrange) - Fix potential crash in libvirtd with active streams (Daniel P. Berrange) - Fix mistaken order of server cert/key parameters in constructor (Daniel P. Berrange) - util: Don't try to fchown files opened as non-root (Jiri Denemark) - qemu: Don't chown files on NFS share if dynamic_ownership is off (Michal Privoznik) - python: Fix bogus label placement (Matthias Bolte) - util: close the ioctl socket at the end of if(Get|Set)MacAddress (Laine Stump) - pci: initialize state values on reattach (Guannan Ren) - qemu: Fix virFileMakePath error handling in snapshot creation (Matthias Bolte) - storage: Do not override the exact error of createRawFile (Osier Yang) Improvements: - build: allow caching the input to STATIC_ANALYSIS (Eric Blake) - fdstream: drop delete argument (Eric Blake) - save: generate idempotent inactive xml for running domain (Eric Blake) - conf: make 'vnet' prefix a macro (Eric Blake) - utils: More useful error message for hook script failure (Osier Yang) - tests: Unify style of test skipping code (Matthias Bolte) - save: let qemu driver manipulate save files (Eric Blake) - save: support qemu modifying xml on domain save/restore (Eric Blake) - xen: make direct call when there is only one subdriver (Eric Blake) - xen: reduce callback special cases (Eric Blake) - xen: cleanup callback struct (Eric Blake) - libxl: fix build failure due to change in virDomainGraphicsDef (Laine Stump) - qemu: support type=network in domain graphics <listen> (Laine Stump) - conf: add <listen> subelement to domain <graphics> element (Laine Stump) - python: add python binding for virDomainSetMemoryParameters (Hu Tao) - python: add python binding for virDomainGetMemoryParameters (Hu Tao) - python: add python binding for virDomainSetBlkioParameters (Hu Tao) - python: add python binding for virDomainGetBlkioParameters (Hu Tao) - virsh: expose change-protection during migration (Eric Blake) - send-key: Implement Python API (Lai Jiangshan) - qemu: Remove special case for virDomainAbortJob (Jiri Denemark) - qemu: Remove special case for virDomainSuspend (Jiri Denemark) - qemu: Remove special case for virDomainMigrateSetMaxDowntime (Jiri Denemark) - qemu: Remove special case for virDomainMigrateSetMaxSpeed (Jiri Denemark) - qemu: Remove special case for virDomainBlockStats (Jiri Denemark) - qemu: Remove special case for virDomainGetBlockInfo (Jiri Denemark) - qemu: Migration job on source daemon (Jiri Denemark) - qemu: Migration job on destination daemon (Jiri Denemark) - qemu: Implement migration job phases (Jiri Denemark) - bandwidth: Integrate bandwidth into portgroups (Michal Privoznik) - tools: format percent strings of nodecpustats (Alex Jia) - set cpu bandwidth for the vm (Wen Congyang) - virsh: use faster bit search (Eric Blake) - virsh: make vcpucount use --current consistently (Eric Blake) - vcpu: teach getVcpusFlags about current (Eric Blake) - util: change virFile*Pid functions to return < 0 on failure (Laine Stump) - rename cfs_* to vcpu_* (Wen Congyang) - python: add Python binding for virDomainGetVcpuPinInfo API (Taku Izumi) - python: add Python binding for virDomainPinVcpusFlags API (Taku Izumi) - python: add Python binding for virDomainGetSchedulerParametersFlags API (Taku Izumi) - python: add Python binding for virDomainGetSchedulerParameter sFlags API (Taku Izumi) - tests: detect gnutls errors (Eric Blake) - bandwidth: Add domain schema and xml2xml tests (Michal Privoznik) - bandwidth: Add test cases for network (Michal Privoznik) - bandwidth: Implement functions to enable and disable QoS (Michal Privoznik) - bandwidth: Create format functions (Michal Privoznik) - bandwidth: Add parsing and free functions (Michal Privoznik) - bandwidth: Declare internal structures (Michal Privoznik) - bandwidth: Define schema and create documentation (Michal Privoznik) - network: provide internal API to return IP of a network (Laine Stump) - util: add an ifaceGetIPAddress to the interface utilities (Laine Stump) - Pre-create /var/lib/libvirt/sanlock directory (Daniel P. Berrange) - Refactor mounting of special filesystems (Daniel P. Berrange) - Pull code for doing a bind mount into separate method (Daniel P. Berrange) - Fix typos in daemon config file from previous commit (Daniel P. Berrange) - Add a test case for certificate validation (Daniel P. Berrange) - Allow certificate sanity checking to be disabled (Daniel P. Berrange) - remote/ssh: optional "keyfile" parameter. (Oskari Saarenmaa) - util: make interface.c functions consistently return < 0 on error (Laine Stump) - Refactor the certification validation code (Daniel P. Berrange) - Remove call to deprecated gnutls_certificate_type_set_ priority (again) (Daniel P. Berrange) - Ensure that libvirtd shuts down if initialization fails (Daniel P. Berrange) - Asynchronous event for BlockJob completion (Adam Litke) - Enable virDomainBlockPull in the python API (Adam Litke) - Enable the virDomainBlockPull API in virsh (Adam Litke) - Implement virDomainBlockPull for the qemu driver (Adam Litke) - Add virDomainBlockPull support to the remote driver (Adam Litke) - virDomainBlockPull: Implement the main entry points (Adam Litke) - save: add virsh commands for manipulating save files (Eric Blake) - save: wire up remote protocol (Eric Blake) - save: support bypass-cache flag in libvirt-guests init script (Eric Blake) - save: support bypass-cache flag in qemu.conf (Eric Blake) - save: support BYPASS_CACHE during qemu save/restore (Eric Blake) - save: add virFileDirectFd wrapper type (Eric Blake) - save: let iohelper work on O_DIRECT fds (Eric Blake) - save: let iohelper handle inherited fd (Eric Blake) - save: support --xml to virsh save/restore (Eric Blake) - save: add --bypass-cache flag to virsh save/restore operations (Eric Blake) - save: wire up trivial save/restore flags implementations (Eric Blake) - error: add new error type for reflecting partial API support (Eric Blake) - network: internal API functions to manage assignment of physdev to guest (Laine Stump) - qemu: use virDomainNetGetActual*() in qemuDomainXMLToNative (Laine Stump) - qemu: use virDomainNetGetActual*() functions where appropriate (Laine Stump) - network: separate Start/Shutdown functions for new network types (Laine Stump) - conf: support abstracted interface info in network XML (Laine Stump) - conf: support abstracted interface info in domain interface XML (Laine Stump) - conf: virDomainNetDef points to (rather than contains) virtPortProfile (Laine Stump) - conf: put virtPortProfile struct / functions in a common location (Laine Stump) - destroy: Implement internal API for xenapi driver (Michal Privoznik) - destroy: Implement internal API for xen driver (Michal Privoznik) - destroy: Implement internal API for vmware driver (Michal Privoznik) - destroy: Implement internal API for vbox driver (Michal Privoznik) - destroy: Implement internal API for uml driver (Michal Privoznik) - destroy: Implement internal API for phyp driver (Michal Privoznik) - destroy: Implement internal API for openvz driver (Michal Privoznik) - destroy: Implement internal API for lxc driver (Michal Privoznik) - destroy: Implement internal API for libxl driver (Michal Privoznik) - destroy: Implement internal API for ESX driver (Michal Privoznik) - destroy: Implement internal API for qemu driver (Michal Privoznik) - destroy: Wire up the remote protocol (Michal Privoznik) - destroy: Define new public API virDomainDestroyFlags (Michal Privoznik) - save: wire up remote protocol (Eric Blake) - save: new public API to bypass file system cache on save/restore (Eric Blake) - build: rename files.h to virfile.h (Eric Blake) - command: move all docs into .c file (Eric Blake) - rpc: Make the dispatch generator handle 'void name(void)' style procedures (Matthias Bolte) - python: Fix makefile rule for code generation (Matthias Bolte) - qemu: Implement cfs_period and cfs_quota's modification (Wen Congyang) - qemu: Implement period and quota tunable XML configuration and parsing (Wen Congyang) - Update XML Schema for new entries (Wen Congyang) - cgroup: Implement cpu.cfs_period_us and cpu.cfs_quota_us tuning API (Wen Congyang) - Introduce the function virCgroupForVcpu (Wen Congyang) - qemu: send-key: Implement the driver methods (Lai Jiangshan) - send-key: Expose the new API in virsh (Lai Jiangshan) - util: add virtkeycode module (Lai Jiangshan) - util: Add keymaps.csv (Lai Jiangshan) - Fix checking of key usage/purpose data (Daniel P. Berrange) - Fix mixed up error messages when reporting TLS certificate problems (Daniel P. Berrange) - undefine: Extend virsh undefine to support the new flag (Osier Yang) - undefine: Implement undefineFlags for all other drivers (Osier Yang) - undefine: Implement internal API for libxl driver (Osier Yang) - undefine: Implement internal API for qemu driver (Osier Yang) - undefine: Wire up the remote protocol (Osier Yang) - undefine: Define the new API (Osier Yang) - Add sanity checking of basic constraints, key purpose & key usage (Daniel P. Berrange) - Add some basic sanity checking of certificates before use (Daniel P. Berrange) - Add an explicit virNetClientClose method (Daniel P. Berrange) - Add some debugging for virNetClient reference counting (Daniel P. Berrange) - build: detect doc generation failure (Eric Blake) - Unregister event callback if a fatal error occurs during dispatch (Daniel P. Berrange) - Quieten build & ensure API build scripts exit with non-zero status (Daniel P. Berrange) - virsh: Extend virsh dominfo to display if managed save image exists (Osier Yang) - libvirt: do not mix internal flags into public API (Eric Blake) - rpc: Fix typos in rpc generator scripts (Osier Yang) - build: also track RPC on-wire enum values (Eric Blake) - build: add syntax check for proper flags use (Eric Blake) - xen: reject unknown flags (Eric Blake) - esx: reject unknown flags (Eric Blake) - virsh: improve option handling (Eric Blake) - flags: fix domain_conf migration regression (Eric Blake) - flags: fix qemu migration regression (Eric Blake) - flags: use common dumpxml flags check (Eric Blake) - add --cache, --serial, --shareable and --address to attach-disk (Hu Tao) - Fix error message for missing TLS write function (Daniel P. Berrange) - Fix reporting of cert validation failures (Daniel P. Berrange) - Fix error code for storage operations (Dave Allan) - setvcpus: add "--current" option to "virsh setvcpus" (Taku Izumi) - setvcpus: extend qemuDomainSetVcpusFlags() to support current flag (Taku Izumi) - setvcpus: extend virDomainSetVcpusFlags API to support current flag (Taku Izumi) - Add domain events support to UML driver (Daniel P. Berrange) - virnetsocket: use new API for uniform child cleanup (Eric Blake) - fdstream: avoid child process leak on error (Eric Blake) - command: introduce virPidWait, virPidAbort (Eric Blake) - update apparmor security driver for new udev paths (Jamie Strandboge) - xenapi: Improve error reporting in xenapiOpen (Matthias Bolte) - build: fix VPATH build of todo (Eric Blake) - build: check for virnetprotocol on-the-wire stability (Eric Blake) - build: disable some drivers when building without libvirt daemon (Wen Congyang) - build: avoid ATTRIBUTE_UNUSED in headers (Eric Blake) - remote: prefer unsigned flags (Eric Blake) - conf: delete unused flags arguments (Eric Blake) - virsh: fix previous patch (Jiri Denemark) - virsh: Make "DEBUG" loglevel the superset (Supriya Kannery) - virsh: Avoid using magic numbers for logging (Supriya Kannery) - build: don't hand-roll cloexec code (Eric Blake) - conf: prefer unsigned flags (Eric Blake) - python: prefer unsigned flags (Eric Blake) - node_device: avoid implicit int (Eric Blake) - virsh, daemon: prefer unsigned flags (Eric Blake) - xenapi: reject unknown flags (Eric Blake) - vmware: reject unknown flags (Eric Blake) - vbox: reject unknown flags (Eric Blake) - uml: reject unknown flags (Eric Blake) - test: reject unknown flags (Eric Blake) - qemu: reject unknown flags (Eric Blake) - phyp: reject unknown flags (Eric Blake) - openvz: reject unknown flags (Eric Blake) - lxc: reject unknown flags (Eric Blake) - libxl: reject unknown flags (Eric Blake) - qemu: build failed due to unused variables (Peter Krempa) - storage: reject unknown flags (Eric Blake) - node_device: reject unknown flags (Eric Blake) - util: reject unknown flags, and prefer unsigned flags (Eric Blake) - libvirt-qemu: use unsigned flags (Eric Blake) - maint: print flags in hex during debug (Eric Blake) - maint: exclude more files from syntax check (Eric Blake) - util: honor anchored names when searching for executables (Eric Blake) - Remove unused virNetServerProgramErrorHander typedef (Daniel P. Berrange) - qemu: Consolidate qemuMigrationPrepare{Direct, Tunnel} (Jiri Denemark) - qemu: Add support for job phase (Jiri Denemark) - qemu: Recover from interrupted jobs (Jiri Denemark) - qemu: Save job type in domain status XML (Jiri Denemark) - qemu: Allow all query commands to be run during long jobs (Jiri Denemark) - qemu: Consolidate {Enter,Exit}Monitor{, WithDriver} (Jiri Denemark) - qemu: Consolidate BeginJob{,WithDriver} into a single method (Jiri Denemark) - qemu: Separate job related data into a new object (Jiri Denemark) - maint: avoid incremental 'make syntax-check' failure (Eric Blake) - Skip bugs which are CLOSED in todo list (Daniel P. Berrange) - Add missing cleanup for transient guests in UML driver (Daniel P. Berrange) - Add auditing to the UML driver (Daniel P. Berrange) - Add auditing to the LXC driver (Daniel P. Berrange) - Add virtualization type in audit messages (Daniel P. Berrange) - Add auditing of filesystems (Daniel P. Berrange) - Move qemu_audit.h helpers into shared code (Daniel P. Berrange) - rpc: Fix compile error due to potentially unused parameter (Matthias Bolte) - Add monitor API for checking whether KVM is enabled (Daniel P. Berrange) - Add a method for extracting QEMU argv from /proc (Daniel P. Berrange) - Change extract pidfile & monitor config from QEMU command line (Daniel P. Berrange) - Keep pidfile path in qemuDomainObjPrivate struct (Daniel P. Berrange) - Add a new 'virsh qemu-attach' command. (Daniel P. Berrange) - Define remote wire protocol & impls for virDomainQemuAttach (Daniel P. Berrange) - Define a QEMU specific API to attach to a running QEMU process (Daniel P. Berrange) - qemu: update configuration file (Alex Jia) - maint: rename virtaudit to match file contents (Eric Blake) - remote/ssh: support for no_verify. (Oskari Saarenmaa) - build: also check qemu_protocol for on-the-wire stability (Eric Blake) - build: avoid requiring -lm (Eric Blake) - Remove code no longer used after commit df0b57a9 (Jim Fehlig) - Add domain type checking (Matthias Bolte) - tests: simplify formatting (Eric Blake) - Do not drop kernel cmdline for xen pv domains (Jim Fehlig) - RPC: fix argument's name (Wen Congyang) - fix typo error (Wen Congyang) - vbox: Fix logic in storage driver open function (Matthias Bolte) - tests: Improve output of tests that decide to skip at runtime (Matthias Bolte) - tests: Fix compressed test output padding logic (Matthias Bolte) - tests: Use EXIT_AM_SKIP instead of 77 directly (Matthias Bolte) - rpc: Fix whitespace problem in generated code (Matthias Bolte) - sanlock: avoid lockspace setup when auto_disk_lease is off (Federico Simoncelli) - libvirtd: diagnose explicitly requested but missing conf file (Eric Blake) - qemu: clean up OOM checks (Michael Santos) - graphics: add support for action_if_connected in qemu (Michal Privoznik) - microblaze: Add architecture support (John Williams) - util: drop unused safezero argument (Eric Blake) - conf: prefer unsigned int for flags (Eric Blake) - drivers: prefer unsigned int for flags (Eric Blake) - public API: prefer unsigned int for flags (Eric Blake) - maint: print flags in hex during debug (Eric Blake) - build: use gnulib pthread_sigmask (Eric Blake) - util: rename err_exit to cleanup in interface.c (Laine Stump) - sysinfo: delete unnecessary white space of sysinfo. (Minoru Usui) - util: add virTrimSpaces (Eric Blake) - util: fix virSkipSpaces (Eric Blake) - Reduce code duplication in virFileMakePath(Helper) (Matthias Bolte) - apparmor: Finish incomplete renaming of relabel to norelabel (Matthias Bolte) - Fix default value of security label 'relabel' attribute (Daniel P. Berrange) - Fix return value semantic of virFileMakePath (Matthias Bolte) - nodedev: Let check_fc_host_linux report errors to the caller (Matthias Bolte) - xml: create an RNG file for common types and move some definitions there (Laine Stump) - docs: sort the file list in the schemas Makefile (Laine Stump) - qemu: check flags in qemuDomainGetXMLDesc (Laine Stump) - conf: fix domain parse flags (Laine Stump) - conf: Fix declaration of virNetworkDNS(Hosts)Def struct (Matthias Bolte) - Allow for resource relabelling with static labels (Daniel P. Berrange) - Allow a base label to be specified in dynamic labelling mode (Daniel P. Berrange) Cleanups: - qemu: silence coverity false positives (Eric Blake) - interface: drop dead code (Eric Blake) - rpc: silence coverity false positives (Eric Blake) - build: silence coverity false positives (Eric Blake) - qemu: remove dead code (Eric Blake) - maint: add missing copyright notices (Eric Blake) - xen: drop unused callbacks (Eric Blake) - build: avoid type-punning compiler warning (Eric Blake) - tests: fix compilation failures (Eric Blake) - build: Use $(PYTHON) instead of python for the keycode map generator (Matthias Bolte) - build: fix bugs with destroyFlags patches (Eric Blake) - util: define MAX (Laine Stump) - maint: fix typos on guaranteed (Eric Blake) - build: fix broken build (Eric Blake) - maint: fix spelling of Red Hat (Eric Blake) - tests: Fix virshtest failure after dominfo changed (Osier Yang) Thanks everybody for the work done for this release, be it documentation, ideas, patches or bug reports !