Libvirt 1.2.18发布,Linux虚拟化库

Libvirt 1.2.18发布,此版本包括一些新特性,改进,bug 修复和代码清理。

更新内容如下:

  • 新特性
         libxl: 支持 dom0 (Jim Fehlig),

  • 文档:
         fix typo in qemu_monitor (Cao jin),
         docs: bhyve: document clock configuration (Roman Bogorodskiy),
         viraccessperm.h: Fix some typos (Michal Privoznik),
         docs: Document how libvirt handles companion controllers (Martin Kletzander),
         daemonRunStateInit: Fix a typo on a comment (Michal Privoznik)

  • 便捷性
         netdev: fix build on FreeBSD (Roman Bogorodskiy),
         spec: Fix polkit dep on F23 (Cole Robinson),
         nodeinfo: fix build on FreeBSD (Roman Bogorodskiy),
         Escape left brace as new perl suggests (Martin Kletzander)

  • Bug 修复:
         qemu: Do not reset labels when migration fails (Jiri Denemark),
         qemu: Reject migration with memory-hotplug if destination doesn't support it (Peter Krempa),
         Load nbd module before running qemu-nbd (Cédric Bosdonnat),
         lxc: Don't accidentaly reset autostart flag in virLXCProcessCleanup (Peter Krempa),
         remote: fix typo in remoteDomainOpenGraphicsFD (Daniel P. Berrange),
         qemu: Check for iotune_max support properly (Martin Kletzander),
         Renamed deconfigured-cpus to allow make dist (Daniel Veillard),
         storage: allow zero capacity with non-backing file to be created (Chris J Arges),
         nodeinfo: Check for SYSFS_INFINIBAND_DIR before open (John Ferlan),
         qemu: fix the error cover issue in SetMemoryParameters (Luyao Huang),
         nodeinfo: Fix nodeGetCPUBitmap()'s fallback code path (Andrea Bolognani),
         tests: Restore links in deconfigured-cpus nodeinfo test (Andrea Bolognani),
         cgroup: Drop resource partition from virSystemdMakeScopeName (Peter Krempa),
         qemu: Reject updating unsupported disk information (Martin Kletzander),
         storage: Fix pool building when directory already exists (Christophe Fergeau),
         rpc: ensure daemon is spawn even if dead socket exists (Daniel P. Berrange),
         rbd: Return error from rbd_create for message processing (John Ferlan),
         qemuMigrationRun: Don't leak @fd (Michal Privoznik),
         Fix qemu-nbd cleanup crashes (Cédric Bosdonnat),
         network: Add another collision check into networkCheckRouteCollision (Martin Kletzander),
         nodeinfo: fix to parse present cpus rather than possible cpus (Kothapally Madhu Pavan),
         libxl: set dom0 state to running (Jim Fehlig),
         rpc: Rework timerActive logic in daemon (Martin Kletzander),
         qemu: Check duplicate WWNs also for hotplugged disks (Peter Krempa),
         Fix cloning of raw, sparse volumes (Prerna Saxena),
         qemu: don't use initialized ret in qemuRemoveSharedDevice (Guido Günther),
         qemu: report error for non-existing disk in blockjobinfo (Luyao Huang),
         conf: Don't allow duplicated target names regardless of bus (John Ferlan),
         storage: Revert volume obj list updating after volume creation (4749d82a) (Erik Skultety),
         qemu: Fix integer/boolean logic in qemuSetUnprivSGIO (John Ferlan),
         qemu: report error when shmem has an invalid address (Luyao Huang),
         qemu: Auto assign pci addresses for shared memory devices (Luyao Huang),
         vz: use PRL_USE_VNET_NAME_FOR_BRIDGE_NAME (Maxim Nestratov),
         Explicitly format the isa-fdc controller for newer q35 machines (Ján Tomko),
         virt-aa-helper: add unix channels for nserials as well (Serge Hallyn),
         storage: Fix regression in storagePoolUpdateAllState (Erik Skultety),
         better patch for the XSS search issue (Daniel Veillard),
         Avoid XSS vulnerability on the search engine (Daniel Veillard),
         vz: fix SDK event dispatching (Nikolay Shirokovskiy),
         util: Avoid Coverity FORWARD_NULL (John Ferlan),
         virsh: report error if vcpu number exceed the guest maxvcpu number (Luyao Huang),
         virt-aa-helper: Fix permissions for vhost-user socket files (Michal Dubiel)

  • 改进:
         qemu: Properly check for incoming migration job (Jiri Denemark),
         Fix syntax-check: missing "%s" (Cédric Bosdonnat),
         qemu: Adjust VM id allocation (Erik Skultety),
         admin: Tiny cleanups (Martin Kletzander),
         tests: Finish rename of the long nodeinfo test case (Martin Kletzander),
         conf: add virDomainControllerDefNew() (Laine Stump),
         qemu: reorganize loop in qemuDomainAssignPCIAddresses (Laine Stump),
         conf: pay attention to bus minSlot/maxSlot when autoassigning PCI addresses (Laine Stump),
         tests: add vol-qcow2-zerocapacity test to storagevolxml2argvtest (Chris J Arges),
         Revert "qemu: Use heads parameter for QXL driver" (Martin Kletzander),
         test: introduce a function in test driver to check get vcpupin info (Luyao Huang),
         conf: reorganize virNetworkDHCPDefParseXML (Laine Stump),
         nodeinfo: Check for errors when reading core_id (Andrea Bolognani),
         bhyve: add UTC clock support (Roman Bogorodskiy),
         configure: clarify rationale for checking pkcheck (Daniel P. Berrange),
         nodeinfo: Calculate present and online CPUs only once (Andrea Bolognani),
         nodeinfo: Use a bitmap to keep track of node CPUs (Andrea Bolognani),
         nodeinfo: Use nodeGetOnlineCPUBitmap() when parsing node (Andrea Bolognani),
         nodeinfo: Phase out cpu_set_t usage (Andrea Bolognani),
         nodeinfo: Rename nodeGetCPUBitmap() to nodeGetOnlineCPUBitmap() (Andrea Bolognani),
         nodeinfo: Remove out parameter from nodeGetCPUBitmap() (Andrea Bolognani),
         nodeinfo: Add old kernel compatibility to nodeGetPresentCPUBitmap() (Andrea Bolognani),
         nodeinfo: Rename linuxParseCPUmax() to linuxParseCPUCount() (Andrea Bolognani),
         nodeinfo: Introduce linuxGetCPUOnlinePath() (Andrea Bolognani),
         nodeinfo: Introduce linuxGetCPUGlobalPath() (Andrea Bolognani),
         nodeinfo: Add nodeGetPresentCPUBitmap() to libvirt_private.syms (Andrea Bolognani),
         virsh: Refactor block job waiting in cmdBlockCopy (Peter Krempa),
         virsh: Refactor block job waiting in cmdBlockCommit (Peter Krempa),
         virsh: Refactor block job waiting in cmdBlockPull (Peter Krempa),
         qemu: Update state of block job to READY only if it actually is ready (Peter Krempa),
         virsh: Refactor argument handling in cmdBlockPull (Peter Krempa),
         virsh: Refactor argument handling in cmdBlockCopy (Peter Krempa),
         virsh: Refactor argument checking in cmdBlockCommit (Peter Krempa),
         virsh: Kill blockJobImpl by moving the final impl into cmdBlockCommit (Peter Krempa),
         virsh: Split out block pull implementation from blockJobImpl (Peter Krempa),
         virsh: block job: separate abort from blockJobImpl (Peter Krempa),
         virsh: blockjob: Split out vshBlockJobSetSpeed from blockJobImpl (Peter Krempa),
         virsh: cmdBlockJob: Switch to declarative flag interlocking (Peter Krempa),
         virsh: blockjob: Extract block job info code into a separate function (Peter Krempa),
         nodedev: add RDMA and tx-udp_tnl-segmentation NIC capabilities (Moshe Levi),
         qemu: Use heads parameter for QXL driver (Frediano Ziglio),
         rbd: Use RBD format 2 by default when creating images. (Wido den Hollander),
         virsh: Don't output node frequency if unknown (Martin Kletzander),
         qemu: Test for virtio-9p-ccw support (Boris Fiuczynski),
         qemu: Make virtio-9p-ccw the default for s390-ccw-virtio machines (Boris Fiuczynski),
         qemu: Support for virtio-9p-ccw (Boris Fiuczynski),
         virsh: Teach cmdFreepages to work with lxc driver (Michal Privoznik),
         cmdVcpuPin: Remove dead code (Michal Privoznik),
         lxc: wait for nbd device to be up to get its PIDs (Cédric Bosdonnat),
         nodeinfo: Formatting changes (Andrea Bolognani),
         nodeinfo: Make sysfs_prefix usage more consistent (Andrea Bolognani),
         qemu: process: Improve update of maximum balloon state at startup (Peter Krempa),
         qemuDomainSetNumaParamsLive: Check for NUMA mode more wisely (Michal Privoznik),
         conf: Add getter for network routes (Martin Kletzander),
         tests: Add nodeinfo test for non-present CPUs (Andrea Bolognani),
         nodeinfo: Add sysfs_prefix to nodeGetMemoryStats (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeCapsInitNUMA (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeGetInfo (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeGetCPUMap (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeGetCPUBitmap (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeGetPresentCPUBitmap (John Ferlan),
         nodeinfo: Add sysfs_prefix to nodeGetCPUCount (John Ferlan),
         nodeinfo: Introduce local linuxGetCPUPresentPath (John Ferlan),
         virt-driver-vz: Require parallels-7.0.22 at least (Michal Privoznik),
         configure: Move Virtuozzo checks to a specific module (Michal Privoznik),
         qemuProcessHandleMigrationStatus: Update migration status more frequently (Michal Privoznik),
         vz: fix cleanup of nets of bridged type (Dmitry Guryanov),
         qemu: Use error from Finish instead of "unexpectedly failed" (Jiri Denemark),
         qemu: Don't report false error from MigrateFinish (Jiri Denemark),
         qemu: Remember incoming migration errors (Jiri Denemark),
         Introduce virErrorCopyNew (Jiri Denemark),
         Introduce virHashAtomic (Jiri Denemark),
         cpu: Add support for MPX and AVX512 Intel features (Jiri Denemark),
         virt-aa-helper: add DomainGuest to mockup caps (Cédric Bosdonnat),
         virt-aa-helper: rename ctl->hvm to ctl->os (Cédric Bosdonnat),
         Get more libvirt errors from virt-aa-helper (Cédric Bosdonnat),
         virt-aa-helper: fix rules for paths with trailing slash (Cédric Bosdonnat),
         rpc: Add virNetDaemonHasClients (Martin Kletzander),
         Rewrite allocation tracking when cloning volumes (Ján Tomko),
         qemu: Drop LFs at the end of error from QEMU log (Jiri Denemark),
         qemu: Log all arguments of qemuProcessStart (Jiri Denemark),
         qemu: Wait for migration events on domain condition (Jiri Denemark),
         qemu: Update migration state according to MIGRATION event (Jiri Denemark),
         qemuDomainGetJobStatsInternal: Support migration events (Jiri Denemark),
         qemu: Enable migration events on QMP monitor (Jiri Denemark),
         qemu_monitor: Wire up MIGRATION event (Jiri Denemark),
         qemu_hotplug: try harder to eject media (Pavel Hrdina),
         monitor: detect that eject fails because the tray is locked (Pavel Hrdina),
         virDomainObjSignal: drop this function (Pavel Hrdina),
         virCondWaitUntil: add another return value (Pavel Hrdina),
         qemu: Refactor qemuSetUnprivSGIO return values (John Ferlan),
         qemu: Inline qemuGetHostdevPath (John Ferlan),
         qemu: Refactor qemuCheckSharedDisk to create qemuCheckUnprivSGIO (John Ferlan),
         libxl: rework setting the state of virDomainObj (Jim Fehlig),
         libxl: support dom0 (Jim Fehlig),
         qemu: Introduce qemuGetHostdevPath (John Ferlan),
         qemu: Introduce qemuIsSharedHostdev (John Ferlan),
         docs: Clarify unprivileged sgio feature (John Ferlan),
         conf: use virDomainChrSourceDef to save server path (Luyao Huang),
         qemu: Refactor creation of shared memory device commandline (Luyao Huang),
         qemu: Assign IDs for shared memory devices (Luyao Huang),
         Separate isa-fdc options generation (Ján Tomko),
         Add support for portable-rpcgen from portablexdr library (Pavel Fedin),
         Remove explicit enum from protocol structures (Pavel Fedin),
         util: bitmap: Don't alloc overly large binary bitmaps (Peter Krempa),
         vz: Use virBitmapToDataBuf instead of virBitmapToData in vzDomainGetVcpus (Peter Krempa),
         vz: Remove dead code from vzDomainGetVcpus (Peter Krempa),
         qemu: move the guest status check before agent config and status check (Luyao Huang),
         qemu: remove deadcode in qemuDomain{HelperGetVcpus|GetIOThreadsLive} (Luyao Huang),
         vz: assign static IPs and default gateways for network adapter (Mikhail Feoktistov),
         vz: fix building capabilities (Dmitry Guryanov),
         qemu_driver: live/config checks cleanup (Pavel Hrdina),
         Post-release version bump to 1.2.18 (Michal Privoznik),
         cpu_map.xml: Expand Opteron_G4 CPU model (Jiri Denemark),
         cpu_map.xml: Expand Opteron_G2 CPU model (Jiri Denemark),
         cpu_map.xml: Expand Opteron_G1 CPU model (Jiri Denemark),
         cpu_map.xml: Expand Broadwell-noTSX CPU model (Jiri Denemark),
         cpu_map.xml: Expand Haswell-noTSX CPU model (Jiri Denemark),
         cpu_map.xml: Expand SandyBridge CPU model (Jiri Denemark),
         cpu_map.xml: Expand Westmere CPU model (Jiri Denemark),
         cpu_map.xml: Expand Nehalem CPU model (Jiri Denemark),
         cpu_map.xml: Expand Penryn CPU model (Jiri Denemark),
         cpu_map.xml: Expand Conroe CPU model (Jiri Denemark),
         cpu_map.xml: Expand kvm64 CPU model (Jiri Denemark),
         cpu_map.xml: Expand cpu64-rhel5 CPU model (Jiri Denemark),
         cpu_map.xml: Expand kvm32 CPU model (Jiri Denemark),
         cpu_map.xml: Expand qemu32 CPU model (Jiri Denemark),
         cpu_map.xml: Expand n270 CPU model (Jiri Denemark),
         cpu_map.xml: Expand coreduo CPU model (Jiri Denemark),
         cpu_map.xml: Expand pentiumpro CPU model (Jiri Denemark),
         cpu_map.xml: Expand pentium2 CPU model (Jiri Denemark),
         cpu_map.xml: Expand pentium CPU model (Jiri Denemark),
         cpu_map.xml: Expand 486 CPU model (Jiri Denemark),
         cpu_map.xml: Sort features in x86 CPU models (Jiri Denemark)

Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU  和用于其他操作系统的一些虚拟产品。

libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统。libvirt 本身 不是一种工具,它是一种可以建立工具来管理来宾操作系统的 API。libvirt 本身构建于一种抽象的概念之上。它为受支持的虚拟机监控程序实现的常用功能提供通用的 API。libvirt 起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序。

相关推荐