Libvirt 1.2.21 发布,此版本不包含新特性,包含一些改进,bug 修复,文档更新和代码清理。
主要改进:
-
Bug 修复
wireshark: Install to generic plugin directory (Michal Privoznik),
network: wait for DAD to finish for bridge IPv6 addresses (Maxim Perevedentsev),
qemu: Use live autoNodeset when numatune placement is auto (Luyao Huang),
virsh-domain: use correct base for virStrToLong_ui (Pavel Hrdina),
libvirt-domain: fix the error reporting when use the localhost as target uri (Luyao Huang),
qemu: fix migration flags undefinesource cannot work (Luyao Huang),
virsh: Display an error when passing count <= 0 to setvcpus (Luyao Huang),
virtlockd: Don't SIGSEGV on SIGUSR1 (Michal Privoznik),
Close the source fd if the destination qemu exits during tunnelled migration (Shivaprasad G Bhat),
qemu: Fix qemu startup check for QEMU_CAPS_OBJECT_IOTHREAD (John Ferlan),
virsh: Use 'format' argument only when specified (Peter Krempa),
storage: Track successful creation of LV for removal (John Ferlan),
storage: Fix a resource leak in storageVolCreateXML (John Ferlan),
storage: Fix incorrect format for <disk> <auth> XML (John Ferlan),
migration: check dconnuri in p2p mode (Nikolay Shirokovskiy),
qemu: Resolve Coverity FORWARD_NULL (John Ferlan),
libxl: Resolve Coverity FORWARD_NULL (John Ferlan),
tests: eventtest: Fix coverity warning (Cole Robinson),
qemu: migration: Skip few checks while doing offline migration (Peter Krempa),
qemu: Wait until destination QEMU consumes all migration data (Jiri Denemark),
conf: Remove <metadata> elements with no namespace (Peter Krempa),
storage: Adjust calculation of alloc/capacity for disk (John Ferlan),
storage: Prior to creating a volume, refresh the pool (John Ferlan),
virfile: Fix error path for forked virFileRemove (John Ferlan),
rpc: libssh2: Fix regression in ssh host key verification (Peter Krempa),
interface: fail on OOM from virGetInterface() (Laine Stump),
libvirt.spec: fix accidental conditional inclusion of polkit docs (Daniel P. Berrange),
qemu: Use memory-backing-file only when needed (Martin Kletzander)
-
改进
util: set max wait for IPv6 DAD to 20 seconds (Laine Stump),
util: set error if DAD is not finished (Luyao Huang),
netlink: add support for multi-part netlink messages. (Maxim Perevedentsev),
rbd: Remove snapshots if the DELETE_WITH_SNAPSHOTS flag has been provided (Wido den Hollander),
bhyve: implement domainGetOSType (Roman Bogorodskiy),
libvirt-domain: fix no error report when p2p migrate fail (Luyao Huang),
conf: Add serial target type to ABI stability check (Luyao Huang),
lock_daemon: Switch to wrapper locking functions (Michal Privoznik),
qemu: hostdev: Introduce qemuHostdevUpdateActiveDomainDevices() (Andrea Bolognani),
qemu: hostdev: Unify naming for qemuHostdevUpdateActive*Devices() (Andrea Bolognani),
qemu: hostdev: Unify naming for qemuHostdevReAttach*Devices() (Andrea Bolognani),
qemu: hostdev: Unify naming for qemuHostdevPrepare*Devices() (Andrea Bolognani),
hostdev: Rename virHostdevUpdateDomainActiveDevices() (Andrea Bolognani),
conf: Fix error message to use correct parameter (John Ferlan),
util: Produce friendlier error message to user (Luyao Huang),
util: Adjust error paths for virNumaSetPagePoolSize (Luyao Huang),
util: split the virNumaGetHugePageInfoPath into separate function (Luyao Huang),
Avoid using !STREQ and !STRNEQ (Ishmanpreet Kaur Khera),
vz: implement some domain API calls (Maxim Nestratov),
vz: implement API calls of nodeGetxxx family (Maxim Nestratov),
vz: implement connectGetMaxVcpus API calls (Maxim Nestratov),
security_dac: Introduce remember/recall APIs (Michal Privoznik),
security_dac: Limit usage of virSecurityDACSetOwnershipInternal (Michal Privoznik),
virSecurityDACRestoreSecurityFileLabel: Pass virSecurityDACDataPtr (Michal Privoznik),
virSecurityDACSetOwnership: Pass virSecurityDACDataPtr (Michal Privoznik),
virSecurityDACSetOwnershipInternal: Don't chown so often (Michal Privoznik),
security_dac: Fix TODO marks (Michal Privoznik),
conf: Optimize the iothreadid initialization (John Ferlan),
qemu: Check for niothreads == 0 in qemuSetupCgroupForIOThreads (John Ferlan),
qemu: Use 'niothreadids' instead of 'iothreads' (John Ferlan),
Fix conficts with HACKING doc (Wei Jiangang),
conf: Refactor the iothreadid initialization (John Ferlan),
tests: make redirects happen in correct order (Wei Jiangang),
storage: Rework error paths for virStorageBackendCreateExecCommand (John Ferlan),
storage: On error rmdir created directory in virDirCreate[NoFork] (John Ferlan),
storage: On error unlink created file in virFileOpen{As|Forked} (John Ferlan),
storage: Remove duplicitous refreshVol in Sheepdog buildVol (John Ferlan),
storage: Remove duplicitous refreshVol in RBD buildVol (John Ferlan),
virt-host-validate: check for IOMMU support (Daniel P. Berrange),
libvirt-domain: Drop virDomainMigrateCheckNotLocal attribute (Michal Privoznik),
virt-host-validate: check for required cgroups (Daniel P. Berrange),
virt-host-validate: distinguish exists vs accessible for devices (Daniel P. Berrange),
virt-host-validate.c: check for kernel namespaces (Daniel P. Berrange),
migration: refactor: introduce parameter checking function (Nikolay Shirokovskiy),
migration: merge all proto branches into single function (Nikolay Shirokovskiy),
migration: refactor: refactor parameter compatibility checks (Nikolay Shirokovskiy),
migration: refactor: extract parameter adaption functions (Nikolay Shirokovskiy),
migration: refactor: introduce params version of unmanaged (Nikolay Shirokovskiy),
migration: refactor: merge direct and p2p into unmanaged (Nikolay Shirokovskiy),
migration: refactor: rename uri parameter to miguri (Nikolay Shirokovskiy),
migration: remove direct migration dependency on version1 of driver (Michal Privoznik),
migration: move implementation check to branches in p2p (Nikolay Shirokovskiy),
migration: refactor: reuse p2p url check (Nikolay Shirokovskiy),
migration: refactor: get rid of use_params p2p_full (Nikolay Shirokovskiy),
virJSONValueArraySize: return ssize_t (Michal Privoznik),
src: Include $(builddir)/util in the header search path (Andrea Bolognani),
storage: Perform some cleanup of calls (John Ferlan),
AUTHORS: Add myself to the list of committers (Andrea Bolognani),
virSecurityManagerNew: Turn array of booleans into flags (Michal Privoznik),
qemu: Fix indentation issue (Andrea Bolognani),
qemu: Remove explicit values from virQEMUCapsFlags (Andrea Bolognani),
qemu: migration: Use migration flags in qemuMigrationIsAllowed (Peter Krempa),
qemu: migration: Drop @def from qemuMigrationIsAllowed (Peter Krempa),
qemu: migration: Split source and destination migration checks (Peter Krempa),
spec: Delete .git after applying patches (Cole Robinson),
tests: qemu: Add aarch64 virtio pci tests (Cole Robinson),
qemu: Make updating stats in qemuMigrationCheckJobStatus optional (Jiri Denemark),
qemu: Introduce flags in qemuMigrationCompleted (Jiri Denemark),
qemu: Copy completed migration stats only on success (Jiri Denemark),
qemu: Always update migration times on destination (Jiri Denemark),
tests: Check GIC-related XMLs in qemuxml2xmltest (Martin Kletzander),
Do not distribute generated virkeymaps.h (Martin Kletzander),
apparmor: differentiate between error and unconfined profiles (Cédric Bosdonnat),
testutils: Drop virtTestResult (Cole Robinson),
tests: eventtest: Open code virtTestResult (Cole Robinson),
tests: sheepdog: Drop use of virtTestResult (Cole Robinson),
testutils: Add coloring to verbose PASS/FAILED output (Cole Robinson),
storage: Introduce virStorageBackendDiskStartPool (John Ferlan),
storage: Add additional errors/checks for disk label (John Ferlan),
storage: Add param to check whether we can write a disk label (John Ferlan),
storage: Refactor disk label checking (John Ferlan),
virfile: Add extra check for direct delete in virFileRemove (John Ferlan),
qemu: Add conditions for qemu-kvm use on ppc64 (Andrea Bolognani),
rpc: libssh2: Add more debugging info (Peter Krempa),
conf: Reuse virDomainDefCheckDuplicateDiskWWN to check disk serial too (Peter Krempa),
qemu: Perform the disk WWN check only on fresh starts (Peter Krempa),
interface: let netcf pre-filter for active vs. inactive (Laine Stump),
interface: re-use name and mac address rather than re-retrieving (Laine Stump),
interface: report correct interface count when not returning list (Laine Stump),
qemu: Add -mem-path even with numa (Martin Kletzander),
qemu: Extract -mem-path building into its own function (Martin Kletzander),
qemu: Move memory size detection to the top of the function (Martin Kletzander),
qemu: Move simplification variable to begining of the function (Martin Kletzander),
qemu: Add test cases for gic-version option (Pavel Fedin),
qemu: Add support for gic-version machine option (Pavel Fedin),
qemu: Introduce QEMU_CAPS_MACH_VIRT_GIC_VERSION capability (Pavel Fedin),
Post-release version bump to 1.2.21 (Martin Kletzander)
更多改进请看更新日志。
Libvirt 库是一种实现 Linux 虚拟化功能的 Linux® API,它支持各种虚拟机监控程序,包括 Xen 和 KVM,以及 QEMU 和用于其他操作系统的一些虚拟产品。
libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统。libvirt 本身 不是一种工具, 它是一种可以建立工具来管理来宾操作系统的 API。libvirt 本身构建于一种抽象的概念之上。它为受支持的虚拟机监控程序实现的常用功能提供通用的 API。libvirt 起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序。
libvirt 比较和用例模型
(责任编辑:IT) |