So as planned, I tagged the release in git and pushed signed tarball and
rpms to the usual place:
ftp://libvirt.org/libvirt
I also pushed the associated python release for 1.3.0 though there was no
actual code change except numbering:
ftp://libvirt.org/libvirt/python
The bump in version minor number comes from the addition of the administration
API which nearly made it in 1.2.17 in the summer but was postponed since. That
is backed up by serious improvement in virtio support and logging. As usual
that release carries a sigificant amount of fixes and smaller improvements too:
Features:
- virt-admin and administration API (Erik Skultety, Martin Kletzander)
- various improvements in virtio devices support (Ján Tomko, Marc-André Lureau)
- log daemon, logging improvements and protocol (Daniel P. Berrange)
Documentation:
- libvirt: Update virDomainSetMemory description (Nikolay Shirokovskiy)
- virt-admin: Provide a man page for virt-admin (Erik Skultety)
- Enhance documentation of virDomainDetachDevice (Jiri Denemark)
- qemu: monitor: Explain logic of qemuMonitorGetCPUInfo (Peter Krempa)
- document virCommandRunRegex function (Christian Loehle)
- libvirt-domain: Fix typo in debug message (Cole Robinson)
- qemu: Explain mlock limit size more in detail (Peter Krempa)
- virsh.pod: improve attach-interface section (Pavel Hrdina)
- virnetdev: Fix function comments for virNetDevGetFeatures (John Ferlan)
- virnetdev: Document reasons for ignoring some SIOCETHTOOL errno values (John Ferlan)
Portability:
- network: selectively disable -Wcast-align in virNetDevParseDadStatus (Ian Campbell)
- log_manager: Include configmake.h last (Michal Privoznik)
- virtlogd: Fix build without DBus (Martin Kletzander)
- virtlogd: use %llu to print 64bit types (Guido Günther)
Bug Fixes:
- qemu: fix memory leak in opening log file (Daniel P. Berrange)
- qemu: Automatic SCSI controller creation in SCSI disk hotplug broken (Boris Fiuczynski)
- qemu: domain: Prevent overflows in memory alignment code (Peter Krempa)
- conf: Revert some code to resolve issues for hostdev hotplug (Boris Fiuczynski)
- virsh: report errors for empty strings (Ján Tomko)
- bridge: check for invalid MAC in networkGetDHCPLeases (Ján Tomko)
- qemu_agent: fix deadlock in qemuProcessHandleAgentEOF (Wang Yufei)
- include: Install libvirt-common.h (Martin Kletzander)
- tools: fix output of list with state-shutoff (Wei Jiangang)
- virlogd: fix crash if log file exists and it's larger the maxlen (Pavel Hrdina)
- systemd: Escape only needed characters for machined (Martin Kletzander)
- logging: remove reference to non-existent augeas files (Daniel P. Berrange)
- virtlockd: fix misc memory leaks and other bugs (Daniel P. Berrange)
- systemd: Escape machine name for machined (Martin Kletzander)
- schema: use a better regex for listen addresses (Ján Tomko)
- apparmor: add missing qemu binaries (Guido Günther)
- storage: Change virStorageBackendVolOpen to use virFileOpenAs (John Ferlan)
- storage: Really fix setting mode for backend exec in NFS root-squash env (John Ferlan)
- qemu: Add ppc64-specific math to qemuDomainGetMlockLimitBytes() (Andrea Bolognani)
- libxl: don't unlock virDomainObj if refcnt is 0 (Jim Fehlig)
- libxl: unref libxlDriverConfig object (Jim Fehlig)
- qemu: Fix build error in Coverity environment (John Ferlan)
- virSetUIDGID: Don't leak supplementary groups (Richard Weinberger)
- locking: Add io_timeout to sanlock (Michal Privoznik)
- libvirt-guests: Disable shutdown timeout (Guido Günther)
- tpm: adapt sysfs cancel path for new TPM driver (Stefan Berger)
- bhyve: monitor: do not override domain's privateData (Roman Bogorodskiy)
- storage: Don't assume storage pool exists for FC/SCSI refresh thread (John Ferlan)
- domain-conf: reorder usb controllers so the master is first (Pavel Hrdina)
- qemu: fix parsing of -sdl arg (Daniel P. Berrange)
- qemu: handle floppy disk bus when parsing command line argv (Daniel P. Berrange)
- qemu: hotplug: Fix mlock limit handling on memory hotplug (Peter Krempa)
- Revert "utils: Remove the logging of errors from virNetDevSendEthtoolIoctl"
(Daniel P. Berrange)
- qemu: migration: Actually error out on unsupported migration flag (Peter Krempa)
- qemu: migration: Properly parse memory hotplug migration flag (Peter Krempa)
- network: Remove extraneous ATTRIBUTE_NONNULL for virNetDevWaitDadFinish (John Ferlan)
- virnetdev: Check correct return value for virNetDevFeatureAvailable (John Ferlan)
- storage: On 'buildVol' failure don't delete the volume (John Ferlan)
- Revert "storage: Prior to creating a volume, refresh the pool" (John Ferlan)
- qemu: Fix memory leak in qemuProcessStart (Jiri Denemark)
- qemu: Use correct type when calling qemuPrepareNVRAM (Jiri Denemark)
Improvements:
- Revert "libxl: implement virDomainInterfaceStats" (Jim Fehlig)
- rpm: explicitly enable & start virtlogd on install (Daniel P. Berrange)
- libvirtd: enable virtlockd/virtlogd socket activation on install (Daniel P. Berrange)
- logging: validate flags passed from client in virtlogd (Daniel P. Berrange)
- logging: change log protocol to be more reusable (Daniel P. Berrange)
- logging: preserve driver, dom name & uuid against log file (Daniel P. Berrange)
- qemu: include hostname in QEMU log files (Daniel P. Berrange)
- rotatingfile: mark log files as close-on-exec (Daniel P. Berrange)
- libvirtd: require virtlogd to start before libvirtd (Guido Günther)
- schema: Allow > UINT_MAX KiB of memory for NUMA nodes (Peter Krempa)
- virsh: remove custom error for cpulist from cmdIOThreadPin (Ján Tomko)
- libxl: implement virDomainInterfaceStats (Joao Martins)
- tests: Run virnetdaemontest iff WITH_YAJL (Michal Privoznik)
- admin: Distribute libvirt-admin.conf (Martin Kletzander)
- admin: Rename virAdmConnect to virAdmDaemon (Martin Kletzander)
- spec: Temporarily disable new admin-related files (Martin Kletzander)
- admin: Include admin_remote.c in the dist package (Martin Kletzander)
- build: Create needed folders without dependency tracking (Martin Kletzander)
- util: Avoid variable named 'truncate' shadowing global declaration (Martin
Kletzander)
- conf: Split virDomainObjList into a separate file (Michal Privoznik)
- qemu: build command line for virtio-input-host device (Ján Tomko)
- qemu: add passed-through input devs to cgroup ACL (Ján Tomko)
- security: label the evdev for input device passthrough (Ján Tomko)
- conf: add XML for input device passthrough (Ján Tomko)
- qemu: add capability for virtio-input-host-device (Ján Tomko)
- qemu: build command line for virtio input devices (Ján Tomko)
- conf: parse and format virtio input bus in domain XML (Ján Tomko)
- qemu: add capabilities for virtio input devices (Ján Tomko)
- admin: Introduce virAdmConnectGetLibVersion (Erik Skultety)
- admin: Add support for connection close callbacks (Erik Skultety)
- admin: Add support for URI aliases (Erik Skultety)
- livirt: Move URI alias matching to util (Erik Skultety)
- admin: Add URI support and introduce virAdmGetDefaultURI (Erik Skultety)
- admin: Do not generate remoteAdminConnect{Open,Close} (Erik Skultety)
- admin: Move remote admin API version to a separate module (Erik Skultety)
- admin: Introduce virAdmConnectIsAlive (Erik Skultety)
- virt-admin: Introduce first working skeleton (Erik Skultety)
- admin: introduce virAdmGetVersion (Erik Skultety)
- libvirt: Move config getters to util (Erik Skultety)
- admin: Introduce libvirt-admin.conf (Erik Skultety)
- libvirt: introduce libvirt/libvirt-common.h.in (Erik Skultety)
- qemu: add virtio-gpu virgl support (Marc-André Lureau)
- qemu: add virtio video device (Marc-André Lureau)
- domain: replace bool accel{2d, 3d} with a tristate (Marc-André Lureau)
- Replace support{2d,3d} with accel{2d,3d} (Marc-André Lureau)
- logging: avoid variables called 'daemon' due to function clash (Daniel P.
Berrange)
- logging: inhibit virtlogd shutdown while log files are open (Daniel P. Berrange)
- qemu: add support for sending QEMU stdout/stderr to virtlogd (Daniel P. Berrange)
- qemu: convert monitor to use qemuDomainLogContextPtr indirectly (Daniel P. Berrange)
- qemu: convert process stop/attach to use qemuDomainLogContextPtr (Daniel P. Berrange)
- qemu: convert qemuLogOperation to take a qemuDomainLogContextPtr (Daniel P. Berrange)
- qemu: change qemuDomainTaint APIs to accept qemuDomainLogContextPtr (Daniel P.
Berrange)
- qemu: convert log file creation to use qemuDomainLogContextPtr (Daniel P. Berrange)
- qemu: introduce a qemuDomainLogContext object (Daniel P. Berrange)
- qemu: unify code for reporting errors from QEMU log files (Daniel P. Berrange)
- qemu: remove writing to QEMU log file for rename operation (Daniel P. Berrange)
- logging: add client for virtlogd daemon (Daniel P. Berrange)
- logging: introduce log handling protocol (Daniel P. Berrange)
- Import stripped down virtlockd code as basis of virtlogd (Daniel P. Berrange)
- util: add APIs for reading/writing from/to rotating files (Daniel P. Berrange)
- virsh: Try to keep printed XML pretty with change-media (Martin Kletzander)
- qemu: Use qemuProcessLaunch in migration Prepare phase (Jiri Denemark)
- qemu: Skip starting NBD servers for offline migration (Jiri Denemark)
- qemu: Kill QEMU process if Prepare phase fails (Jiri Denemark)
- qemu: Separate incoming URI generation from qemuMigrationPrepareAny (Jiri Denemark)
- qemu: Introduce qemuProcessFinishStartup (Jiri Denemark)
- qemu: Introduce qemuProcessLaunch (Jiri Denemark)
- qemu: Introduce qemuProcessInit (Jiri Denemark)
- conf: reject multiple panic devices of same model (Dmitry Andreev)
- Allow multiple panic devices (Dmitry Andreev)
- qemu: add support for hv_crash feature as a panic device (Dmitry Andreev)
- tests: add tests for the new panic device attribute - 'model' (Dmitry Andreev)
- conf: add 'model' attribute for panic device with values isa, pseries, hyperv
(Dmitry Andreev)
- conf: refactor code for checking ABI stability of panic device (Dmitry Andreev)
- nodedev: report maxCount for virtual_functions capability (Laine Stump)
- conf: support reporting maxCount attribute for virtual_functions cap (Laine Stump)
- Post-release version bump to 1.3.0 (Pavel Hrdina)
- conf: Drop useless check when parsing cpu scheduler info (Peter Krempa)
- qemu: pass the asyncJob to qemuProcessStartCPUs (Ján Tomko)
- xenapi: Refactor extraction of vcpu count (Peter Krempa)
- phyp: Refactor extraction of vcpu count (Peter Krempa)
- openvz: Refactor extraction of vcpu count (Peter Krempa)
- hyperv: Allocate 'def' via virDomainDefNew (Peter Krempa)
- qemuSetupChrSourceCgroup: rename dev to source (Ján Tomko)
- Simplify qemuSetupChrSourceCgroup and its callers (Ján Tomko)
- rename qemuSetupHostdevCGroup to qemuSetupHostdevCgroup (Ján Tomko)
- qemu: handle more machines with a single builtin IDE controller (Guido Günther)
- qemu: Always set locked memory limit for ppc64 domains (Andrea Bolognani)
- qemu: Use qemuDomainRequiresMlock() when attaching PCI hostdev (Andrea Bolognani)
- qemu: Use qemuDomainRequiresMlock() in qemuBuildCommandLine() (Andrea Bolognani)
- process: Log when limiting the amount of locked memory (Andrea Bolognani)
- vz: implementation of domainReboot callback (Mikhail Feoktistov)
- vz: allow only en-us keymap for VNC (Mikhail Feoktistov)
- qemu: Close logfd when closing monitor (Jiri Denemark)
- qemu: Do not infer flags from other qemuProcessStart arguments (Jiri Denemark)
- qemu: Introduce qemuProcessMakeDir (Jiri Denemark)
- qemu: Separate balloon code from qemuProcessStart (Jiri Denemark)
- qemu: Enter monitor within qemuProcessSetLinkStates (Jiri Denemark)
- qemu: Separate raw IO code from qemuProcessStart (Jiri Denemark)
- qemu: Separate graphics handling code from qemuProcessStart (Jiri Denemark)
- qemu: Separate hook handling code from qemuProcessStart (Jiri Denemark)
- qemu: Rename stdin_{fd,path} in qemuProcessStart (Jiri Denemark)
- qemu: Use -incoming defer for migrations (Jiri Denemark)
- qemu: Add APIs for migrate-incoming QMP command (Jiri Denemark)
- qemu: Always set async job when starting a domain (Jiri Denemark)
- qemu: Introduce qemuProcessIncomingDef (Jiri Denemark)
- qemu: Move incoming URI code to qemu_migration (Jiri Denemark)
- qemu: Don't generate migration URI in qemuBuildCommandLine (Jiri Denemark)
- qemu: Refactor the code to build -incoming command line (Jiri Denemark)
- qemu: Refactor waiting for completed migration on destination (Jiri Denemark)
- util: add virDiskNameParse to handle disk and partition idx (Joao Martins)
- libxl: implement virDomainMemorystats (Joao Martins)
- lxc: Bind mount container TTYs (Richard Weinberger)
- lxc: Don't make container's TTY a controlling TTY (Richard Weinberger)
- qemu: ppc64: Support memory hotplug without NUMA enabled (Peter Krempa)
- qemu: command: Prepare memory device def formatter for missing target node (Peter
Krempa)
- conf: Prepare making memory device target node optional (Peter Krempa)
- qemu: command: Move dimm device checks from formatter to checker (Peter Krempa)
- qemu: domain: Add common function to perform memory hotplug checks (Peter Krempa)
- qemu: command: Always execute memory device formatter (Peter Krempa)
- qemu: command: Make qemuBuildMemoryBackendStr usable without NUMA (Peter Krempa)
- libxl: implement virDomainGetCPUStats (Joao Martins)
- syntax-check: Add prohibit_space_in_label rule (Andrea Bolognani)
- util: remove unnecessary needSize (Chen Hanxiao)
- storage: Introduce virStoragePoolObjFindPoolByUUID (John Ferlan)
- storage: Change cbdata scsi refresh thread field name (John Ferlan)
- storage: Make active boolean (John Ferlan)
- qemu: domain: Restructurate control flow in qemuDomainGetMlockLimitBytes (Peter Krempa)
- qemu: Fix job entry debug message (Jiri Denemark)
- tests: Add QEMU 2.4.0 capabilities (Jiri Denemark)
- tests: Remove qemuxmlnstest (Jiri Denemark)
- qemu: Fix style in qemuProcessStart (Jiri Denemark)
- security: Cleanup DAC driver (Jiri Denemark)
- domain-conf: cleanup controller insert function (Pavel Hrdina)
- virsh-domain: update attach-interface to support type=hostdev (Pavel Hrdina)
- vz: support cpu time in driver's domainGetInfo (Nikolay Shirokovskiy)
- qemu: assume various QEMU 0.10 features are always available (Daniel P. Berrange)
- qemu: assume -vga is always available (Daniel P. Berrange)
- qemu: assume -drive format is always available (Daniel P. Berrange)
- qemu: assume -drive cache always uses v2 option names (Daniel P. Berrange)
- qemu: assume support for all migration protocols except rdma (Daniel P. Berrange)
- qemu: assume vnet-hdr feature is always available (Daniel P. Berrange)
- qemu: really remove last traces of Xenner support (Daniel P. Berrange)
- qemu: assume -uuid is always available (Daniel P. Berrange)
- qemu: assume -name is always available (Daniel P. Berrange)
- qemu: assume -drive argument is always available (Daniel P. Berrange)
- qemu: handle USB bus in qemuAssignDeviceDiskAliasFixed() (Daniel P. Berrange)
- qemu: assume -no-reboot is always available (Daniel P. Berrange)
- qemu: assume 'info chardev' is always available (Daniel P. Berrange)
- qemu: assume -vnc arg always takes a ':' (Daniel P. Berrange)
- qemu: remove all support for kQEMU (Daniel P. Berrange)
- qemu: mandate QEMU version 0.12.0 or newer (Daniel P. Berrange)
- qemu: hotplug: Reject VFIO hotplug if setting RLIMIT_MEMLOCK fails (Peter Krempa)
- qemu: Extract logic to determine the mlock limit size for VFIO (Peter Krempa)
- conf: Make @def const in virDomainDefGetMemoryInitial (Peter Krempa)
- tests: redo test argv file line wrapping (Daniel P. Berrange)
- virnetdev: Use virNetDevSetupControl in virNetDevSendEthtoolIoctl (John Ferlan)
- virnetdev: Check for root in virNetDevGetFeatures (John Ferlan)
- qemu: add /usr/lib to AC_PATH_PROG for qemu-bridge-helper (Michel Normand)
- storage: Pull volume removal from pool in storageVolDeleteInternal (John Ferlan)
- storage: Cleanup failures in virStorageBackendCreateRaw (John Ferlan)
- storage: Cleanup failures virStorageBackendCreateExecCommand (John Ferlan)
- storage: Fix setting mode in virStorageBackendCreateExecCommand (John Ferlan)
- Remove new lines from log messages (Jiri Denemark)
- qemu: Introduce cleanup label in qemuProcessStart (Jiri Denemark)
- qemu: Rename ret variable in qemuProcessStart (Jiri Denemark)
- qemu: Rename cleanup label in qemuProcessStart (Jiri Denemark)
So thanks everybody for helping with this release, be it with patches, ideas,
reports, documentation, etc...
As a reminder next release supposedly 1.3.1 will come mid-January due to the
end of year slowdown, and then 1.3.2 at the end or February.
Enjoy !
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
http://veillard.com/ | virtualization library
http://libvirt.org/