[libvirt] [jenkins-ci PATCH] guests: Force use of nodebug kernel on Rawhide
by Andrea Bolognani
The nodebug kernel provides much better performance than the
standard Rawhide kernel, so we want to use it; however, it can
sometimes lag behind a bit, which might cause it to be replaced
with the regular one when performing a system update.
To work around the issue, perform the update in two steps: first
with all repositories enabled but excluding the kernel packages,
then only the kernel packages but with all repositories except
fedora-rawhide-kernel-nodebug disabled.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
guests/tasks/base.yml | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/guests/tasks/base.yml b/guests/tasks/base.yml
index 616db0a..70d5abc 100644
--- a/guests/tasks/base.yml
+++ b/guests/tasks/base.yml
@@ -104,6 +104,24 @@
state: latest
when:
- package_format == 'rpm'
+ - not ( os_name == 'Fedora' and
+ os_version == 'Rawhide' )
+
+- name: Update installed packages
+ command: dnf update --refresh --exclude 'kernel*' -y
+ args:
+ warn: no
+ when:
+ - os_name == 'Fedora'
+ - os_version == 'Rawhide'
+
+- name: Update installed packages
+ command: dnf update --disablerepo='*' --enablerepo=fedora-rawhide-kernel-nodebug 'kernel*' -y
+ args:
+ warn: no
+ when:
+ - os_name == 'Fedora'
+ - os_version == 'Rawhide'
- name: Update installed packages
apt:
--
2.14.3
6 years, 7 months
[libvirt] [PATCH] tests: remove double space
by Ján Tomko
Commit 70255fa5 introduced a double space before the newline-escaping
backslash and broke syntax check.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
Pushed as a trivial build-breaker fix.
tests/qemuxml2argvtest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 43f07efc1..509fe776e 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -668,7 +668,7 @@ mymain(void)
testCompareXMLToArgv, &info) < 0) \
ret = -1; \
if (virTestRun("QEMU XML-2-startup-XML " name, \
- testCompareXMLToStartupXML, &info) < 0) \
+ testCompareXMLToStartupXML, &info) < 0) \
ret = -1; \
virObjectUnref(info.qemuCaps); \
virObjectUnref(info.vm); \
--
2.16.1
6 years, 7 months
[libvirt] [libvirt PATCH v2 00/4] Require QEMU 1.5.0
by Ján Tomko
v2:
* Change the version from 1.3.0 to 1.5.0
* Mention this breaks RHEL 6 QEMU and list the versions
in relevant long-term releases
Some of the patches are very big, available in my repo:
https://repo.or.cz/libvirt/jtomko.git/shortlog/refs/heads/caps_cleanup_v2
git fetch git://repo.or.cz/libvirt/jtomko.git caps_cleanup_v2:
Ján Tomko (44):
qemuxml2argvtest: Fix q35-virt-manager capabilities
Delete bogus cpu-host-passthrough test
Force QMP capability probing
Require QEMU 1.5.0
The following patches are nearly identical to v1:
* rebased on the 1.3.1 and 1.4.2 caps deletion
* luks-disks-source-qcow2.args is fixed
Deprecate QEMU_CAPS_PCI_MULTIFUNCTION
Deprecate QEMU_CAPS_NETDEV
Clean up qemuDomainAttachNetDevice
Remove unused qemuDomainNetVLAN
Remove qemuDomainSupportsNetdev
Deprecate QEMU_CAPS_MONITOR_JSON
Deprecate QEMU_CAPS_NO_USER_CONFIG
Deprecate QEMU_CAPS_MEM_PATH
Deprecate QEMU_CAPS_DRIVE_SERIAL
Deprecate QEMU_CAPS_SDL
Deprecate QEMU_CAPS_RTC
Deprecate QEMU_CAPS_RTC_TD_HACK
Deprecate QEMU_CAPS_VHOST_NET
Deprecate QEMU_CAPS_NODEFCONFIG
Deprecate QEMU_CAPS_BOOT_MENU
Deprecate QEMU_CAPS_FSDEV
Deprecate QEMU_CAPS_NAME_PROCESS
Deprecate QEMU_CAPS_SMBIOS_TYPE
Deprecate QEMU_CAPS_VGA_NONE
Deprecate QEMU_CAPS_DRIVE_AIO
Deprecate QEMU_CAPS_CHARDEV_SPICEVMC
Deprecate QEMU_CAPS_DEVICE_SPICEVMC
Deprecate QEMU_CAPS_DRIVE_CACHE_DIRECTSYNC
Deprecate QEMU_CAPS_NO_SHUTDOWN
Deprecate QEMU_CAPS_DRIVE_CACHE_UNSAFE
Deprecate QEMU_CAPS_FSDEV_READONLY
Deprecate QEMU_CAPS_DRIVE_COPY_ON_READ
Deprecate QEMU_CAPS_FSDEV_WRITEOUT
Deprecate QEMU_CAPS_DRIVE_IOTUNE
Deprecate QEMU_CAPS_WAKEUP
Deprecate QEMU_CAPS_NETDEV_BRIDGE
Deprecate QEMU_CAPS_SECCOMP_SANDBOX
Deprecate QEMU_CAPS_DTB
Deprecate QEMU_CAPS_IPV6_MIGRATION
Deprecate QEMU_CAPS_MACHINE_OPT
Deprecate QEMU_CAPS_DUMP_GUEST_CORE
Deprecate QEMU_CAPS_VNC_SHARE_POLICY
Deprecate QEMU_CAPS_HOST_PCI_MULTIDOMAIN
Deprecate QEMU_CAPS_DISPLAY
Deprecate QEMU_CAPS_MACHINE_USB_OPT
cfg.mk | 2 +-
src/qemu/qemu_capabilities.c | 936 +--------
src/qemu/qemu_capabilities.h | 74 +-
src/qemu/qemu_capspriv.h | 17 +-
src/qemu/qemu_command.c | 690 ++----
src/qemu/qemu_domain.c | 16 -
src/qemu/qemu_domain.h | 6 -
src/qemu/qemu_driver.c | 48 +-
src/qemu/qemu_hotplug.c | 147 +-
src/qemu/qemu_interface.c | 4 +-
src/qemu/qemu_interface.h | 1 -
src/qemu/qemu_migration.c | 10 +-
src/qemu/qemu_process.c | 23 +-
tests/Makefile.am | 8 +-
.../qemucapabilitiesdata/caps_1.2.2.x86_64.replies | 1886 -----------------
tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml | 172 --
.../qemucapabilitiesdata/caps_1.3.1.x86_64.replies | 2141 -------------------
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 196 --
.../qemucapabilitiesdata/caps_1.4.2.x86_64.replies | 2191 --------------------
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 198 --
tests/qemucapabilitiesdata/caps_1.5.3.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_1.6.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_1.7.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 35 -
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 35 -
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 35 -
tests/qemucapabilitiestest.c | 3 -
tests/qemucapsprobe.c | 2 +-
tests/qemuhelpdata/qemu-0.12.1 | 198 --
tests/qemuhelpdata/qemu-0.12.1-device | 62 -
tests/qemuhelpdata/qemu-1.0 | 253 ---
tests/qemuhelpdata/qemu-1.0-device | 148 --
tests/qemuhelpdata/qemu-1.1.0 | 269 ---
tests/qemuhelpdata/qemu-1.1.0-device | 170 --
tests/qemuhelpdata/qemu-1.2.0 | 272 ---
tests/qemuhelpdata/qemu-kvm-0.12.3 | 215 --
tests/qemuhelpdata/qemu-kvm-0.12.3-device | 63 -
tests/qemuhelpdata/qemu-kvm-0.13.0 | 242 ---
tests/qemuhelpdata/qemu-kvm-0.13.0-device | 90 -
tests/qemuhelpdata/qemu-kvm-1.2.0 | 277 ---
tests/qemuhelptest.c | 437 ----
.../aarch64-aavmf-virtio-mmio.args | 14 +-
tests/qemuxml2argvdata/aarch64-acpi-uefi.args | 9 +-
[... lots of .args files ...]
tests/qemuxml2argvdata/watchdog.args | 9 +-
tests/qemuxml2argvdata/x86-kvm-32-on-64.args | 9 +-
tests/qemuxml2argvtest.c | 744 +++----
tests/qemuxml2xmltest.c | 119 +-
670 files changed, 4582 insertions(+), 14981 deletions(-)
delete mode 100644 tests/qemucapabilitiesdata/caps_1.2.2.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_1.2.2.x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_1.3.1.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml
delete mode 100644 tests/qemucapabilitiesdata/caps_1.4.2.x86_64.replies
delete mode 100644 tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml
delete mode 100644 tests/qemuhelpdata/qemu-0.12.1
delete mode 100644 tests/qemuhelpdata/qemu-0.12.1-device
delete mode 100644 tests/qemuhelpdata/qemu-1.0
delete mode 100644 tests/qemuhelpdata/qemu-1.0-device
delete mode 100644 tests/qemuhelpdata/qemu-1.1.0
delete mode 100644 tests/qemuhelpdata/qemu-1.1.0-device
delete mode 100644 tests/qemuhelpdata/qemu-1.2.0
delete mode 100644 tests/qemuhelpdata/qemu-kvm-0.12.3
delete mode 100644 tests/qemuhelpdata/qemu-kvm-0.12.3-device
delete mode 100644 tests/qemuhelpdata/qemu-kvm-0.13.0
delete mode 100644 tests/qemuhelpdata/qemu-kvm-0.13.0-device
delete mode 100644 tests/qemuhelpdata/qemu-kvm-1.2.0
delete mode 100644 tests/qemuhelptest.c
delete mode 100644 tests/qemuxml2argvdata/channel-spicevmc-old.args
delete mode 100644 tests/qemuxml2argvdata/channel-spicevmc-old.xml
--
2.16.1
6 years, 7 months
[libvirt] [PATCH] tests: mock qemuInterfaceOpenVhostNet
by Ján Tomko
This functions contains logic that tries to use vhost for virtio
interfaces, even if <driver name='vhost'/> was not supplied.
In this case, a failure is non-fatal.
On my system, /dev/vhost-net was not accessible to the user running
'make check', but we should not depend on that.
Mock it to prevent accessing /dev/vhost-net and return some predictable
file descriptor numbers instead.
Introduced by commit c1f684e - deprecate QEMU_CAPS_VHOST_NET.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
Reported-by: Jiří Denemark <jdenemar(a)redhat.com>
---
tests/qemuxml2argvdata/user-aliases.args | 2 +-
tests/qemuxml2argvmock.c | 19 +++++++++++++++++++
2 files changed, 20 insertions(+), 1 deletion(-)
diff --git a/tests/qemuxml2argvdata/user-aliases.args b/tests/qemuxml2argvdata/user-aliases.args
index d887d53fa..774c599b5 100644
--- a/tests/qemuxml2argvdata/user-aliases.args
+++ b/tests/qemuxml2argvdata/user-aliases.args
@@ -51,7 +51,7 @@ id=ua-myEncryptedDisk1 \
if=none,id=drive-ua-WhatAnAwesomeCDROM,media=cdrom,readonly=on,cache=none \
-device ide-drive,bus=ide.1,unit=0,drive=drive-ua-WhatAnAwesomeCDROM,\
id=ua-WhatAnAwesomeCDROM \
--netdev tap,fd=3,id=hostua-CheckoutThisNIC \
+-netdev tap,fd=3,id=hostua-CheckoutThisNIC,vhost=on,vhostfd=44 \
-device virtio-net-pci,netdev=hostua-CheckoutThisNIC,id=ua-CheckoutThisNIC,\
mac=52:54:00:d6:c0:0b,bus=pci.0,addr=0x3 \
-netdev socket,listen=127.0.0.1:1234,id=hostua-WeCanAlsoDoServerMode \
diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c
index 177b24e0a..adab5c911 100644
--- a/tests/qemuxml2argvmock.c
+++ b/tests/qemuxml2argvmock.c
@@ -36,6 +36,7 @@
#include "virstring.h"
#include "virtpm.h"
#include "virutil.h"
+#include "qemu/qemu_interface.h"
#include <time.h>
#include <unistd.h>
@@ -188,3 +189,21 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path ATTRIBUTE_UNUSED,
{
return VIR_STRDUP(*ifname, "vhost-user0");
}
+
+int
+qemuInterfaceOpenVhostNet(virDomainDefPtr def ATTRIBUTE_UNUSED,
+ virDomainNetDefPtr net,
+ int *vhostfd,
+ size_t *vhostfdSize)
+{
+ size_t i;
+
+ if (!(net->model && STREQ(net->model, "virtio"))) {
+ *vhostfdSize = 0;
+ return 0;
+ }
+
+ for (i = 0; i < *vhostfdSize; i++)
+ vhostfd[i] = STDERR_FILENO + 42 + i;
+ return 0;
+}
--
2.16.1
6 years, 7 months
[libvirt] [PATCH] tests: Don't touch /dev/vhost-net in qemuxml2argvtest
by Martin Kletzander
The code is trying to open /dev/vhost-net from the host machine and if the
current user has access to it, the command line will end up having two more
options for an interface (,vhost=on,vhostfd=X where X is next free file
descriptor).
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
tests/qemuxml2argvmock.c | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/tests/qemuxml2argvmock.c b/tests/qemuxml2argvmock.c
index 177b24e0a953..11626e2794c1 100644
--- a/tests/qemuxml2argvmock.c
+++ b/tests/qemuxml2argvmock.c
@@ -20,6 +20,10 @@
#include <config.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
#include "internal.h"
#include "viralloc.h"
#include "vircommand.h"
@@ -188,3 +192,35 @@ virNetDevOpenvswitchGetVhostuserIfname(const char *path ATTRIBUTE_UNUSED,
{
return VIR_STRDUP(*ifname, "vhost-user0");
}
+
+static int (*real_open)(const char *path, int flags, ...);
+
+static void init_syms(void)
+{
+ if (real_open)
+ return;
+
+ VIR_MOCK_REAL_INIT(open);
+}
+
+int open(const char *path, int flags, ...)
+{
+ va_list ap;
+ mode_t mode = 0;
+
+ init_syms();
+
+ if (STREQ(path, "/dev/vhost-net"))
+ return -1;
+
+ /* The mode argument is mandatory when O_CREAT is set in flags,
+ * otherwise the argument is ignored.
+ */
+ if (flags & O_CREAT) {
+ va_start(ap, flags);
+ mode = (mode_t) va_arg(ap, int);
+ va_end(ap);
+ }
+
+ return real_open(path, flags, mode);
+}
--
2.17.0
6 years, 7 months
[libvirt] [PATCH] tests: Fix up test numbering in qemuxml2argvtest
by Martin Kletzander
Due to conditional execution of virTestRun(), the testCounter was incremented
only if all the cases were run. When using VIR_TEST_RANGE=x-y, first x/2 of the
increments were skipped and that made figuring out a precise case a PITA.
Moving the condition into the test function makes it way nicer to find out the
test numbers to use in VIR_TEST_RANGE.
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
tests/qemuxml2argvtest.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 7f1855782442..51adaabe1cc3 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -410,6 +410,9 @@ testCompareXMLToStartupXML(const void *data)
char *actual = NULL;
int ret = -1;
+ if (!info->vm)
+ return EXIT_AM_SKIP;
+
if (virAsprintf(&xml, "%s/qemuxml2startupxmloutdata/%s.xml",
abs_srcdir, info->name) < 0)
goto cleanup;
@@ -664,8 +667,8 @@ mymain(void)
if (virTestRun("QEMU XML-2-ARGV " name, \
testCompareXMLToArgv, &info) < 0) \
ret = -1; \
- if (info.vm && virTestRun("QEMU XML-2-startup-XML " name, \
- testCompareXMLToStartupXML, &info) < 0) \
+ if (virTestRun("QEMU XML-2-startup-XML " name, \
+ testCompareXMLToStartupXML, &info) < 0) \
ret = -1; \
virObjectUnref(info.qemuCaps); \
virObjectUnref(info.vm); \
--
2.17.0
6 years, 7 months
[libvirt] [jenkins-ci PATCH 0/4] MinGW builds tweaks and fixes
by Andrea Bolognani
Foreshadowed in
https://www.redhat.com/archives/libvir-list/2018-April/msg01162.html
Andrea Bolognani (4):
guests: Add libvirt-glib+mingw project
guests: Add virt-viewer+mingw project
guests: Add icoutils dependency to virt-viewer+mingw
guests: Rename gtk-vnc mapping to gtk-vnc2
guests/host_vars/libvirt-fedora-rawhide/main.yml | 2 ++
guests/vars/mappings.yml | 6 +++++-
.../{libvirt-glib.yml => libvirt-glib+mingw.yml} | 2 --
guests/vars/projects/libvirt-glib.yml | 4 ----
.../{virt-viewer.yml => virt-viewer+mingw.yml} | 7 +------
guests/vars/projects/virt-viewer.yml | 24 +---------------------
6 files changed, 9 insertions(+), 36 deletions(-)
copy guests/vars/projects/{libvirt-glib.yml => libvirt-glib+mingw.yml} (87%)
copy guests/vars/projects/{virt-viewer.yml => virt-viewer+mingw.yml} (88%)
--
2.14.3
6 years, 7 months
[libvirt] [PATCH] tools: fix check_guests_shutdown loop
by Christian Ehrhardt
The recent fix to libvirt-guests.sh.in works for what it intended to fix
(variable scope) but failed to adapt the loop in check_guests_shutdown
correctly. Due to that it currently might detect all guests as "Failed to
determine state of guest" by bad var content or just assumes they are shut
down by picking up an empty variable.
This commit fixes loop to use the passed value and the call in the loop
to actually use the variable assigned in the iterated.
Fixes: 7e476356 "tools: fix variable scope in in check_guests_shutdown"
Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1764668
Signed-off-by: Christian Ehrhardt <christian.ehrhardt(a)canonical.com>
---
tools/libvirt-guests.sh.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
index fcada31..28fe506 100644
--- a/tools/libvirt-guests.sh.in
+++ b/tools/libvirt-guests.sh.in
@@ -336,8 +336,8 @@ check_guests_shutdown()
guests_to_check=$2
guests_shutting_down=
- for guest in $guests; do
- if ! guest_is_on "$uri" "$guests_to_check" >/dev/null 2>&1; then
+ for guest in $guests_to_check; do
+ if ! guest_is_on "$uri" "$guest" >/dev/null 2>&1; then
eval_gettext "Failed to determine state of guest: \$guest. Not tracking it anymore."
echo
continue
--
2.7.4
6 years, 7 months
[libvirt] [PATCH v2 00/73] qemu: Refactor migration parameters
by Jiri Denemark
This series changes the way we handle migration parameters and
capabilities with several goals:
- make it all consistent and avoid storing the same parameters in
several structs
- reduce the number of QMP commands we use for setting migration
capabilities
- concentrate the logic in a separate file and make the code for
migration parameters and capabilities in qemu_migration.c less
complicated
- reset all parameters and capabilities at the end of migration
- make adding new parameters and capabilities easier
Version 2:
- qemuDomainCheckMigrationCapabilities is moved to
qemu_migration_params.c (rather than to qemu_migration.c)
- supported migration capabilities are sent via migration cookie so that
some caps may be automatically enabled only when both sides support
them
Jiri Denemark (73):
qemu: Rename qemuMigrationAnyCapsGet as qemuMigrationCapsGet
qemu: Rename qemuMigrationParams
qemu: New file for all APIs related to migration parameters
qemu: Move qemuDomainCheckMigrationCapabilities
qemu: Move qemuMigrationCapsGet
qemu: Reindent qemuMigrationParamsSetEmptyTLS
qemu: Make qemuMigrationParamsFree follow common pattern
qemu: Allocate struct for migration parameters
qemu: Drop qemuMigrationParamsClear
qemu: Move qemuMigrationCompression struct
qemu: Introduce qemuMigrationParams struct
qemu: Reset migration parameters in qemuMigrationSrcCleanup
qemu: Store original migration params in job
qemu: Typedef struct qemuDomainJobObj
qemu: Pass job object to qemuProcessRecoverMigration{In,Out}
qemu: Reset all migration parameters
qemu: Drop qemuMigrationParamsCheckSetupTLS
qemu: Drop qemuMigrationParamsCheckTLSCreds
qemu: Rename qemuMigrationParamsSetEmptyTLS
qemu: Rename qemuMigrationParamsAddTLSObjects
qemu: Set tlsHostname inside qemuMigrationParamsEnableTLS
qemu: Hide cfg inside qemuMigrationParamsEnableTLS
qemu: Rename qemuMigrationParamsSet
qemu: Hide internals of qemuMigrationParams struct
qemu: Introduce qemuMonitorSetMigrationCapabilities
qemu: Set migration caps via migration params APIs
qemu: Do not use qemuMonitorSetMigrationCapability
qemu: Drop unused qemuMonitorSetMigrationCapability
qemu: Add support for xbzrle-cache-size migration parameter
qemu: Set XBZRLE cache size via migration parameters
qemu: Move ParamsCheck closer to ParamsApply on Dst side
qemu: Move ParamsCheck closer to ParamsApply on Src side
qemu: Check supported caps in qemuMigrationParamsCheck
qemu: Introduce qemuMigrationParty enum
qemu: Use qemuMigrationParamsFromFlags everywhere
qemu: Hide qemuMigrationParamsNew
qemu: Drop qemuMigrationParamsSetPostCopy
qemu: Set always-on migration caps in ParamsCheck
qemu: Set migration capabilities automatically
qemu: Call qemuMigrationAnyCompressionParse only from driver
qemu: Generalize macro for getting VIR_MIGRATE_* typed params
qemu: Drop qemuMigrationParamsSetCapability
qemu: Move qemuMigrationParamsSetCompression
qemu: Move qemuMigrationAnyCompression*
qemu: Hide qemuMigrationParamsSetCompression
qemu: Replace qemuMigrationAnyCompressionDump
qemu: Drop qemuMigrationCompression structure
qemu: Introduce qemuMigrationParamsFetch
qemu: Limit usage of qemuMonitorMigrationParams
qemumonitorjsontest: Drop migration params test
util: Introduce virJSONValueObjectStealObject
qemu: Move migration parameters JSON parsing
qemu: Move migration parameters JSON formatting
qemu: Export qemuMigrationParams{To,From}JSON for tests
qemu: Move qemuMonitorMigrationParams structure
qemu: Refactor qemuMigrationParams
qemu: Move migration capabilities JSON formatting
qemu: Move qemuMonitorMigrationCaps enum
qemu: Add support for sending capabilities in migration cookie
qemu: Check remote caps when enabling always-on capabilities
qemu: Generalize qemuMigrationParamsGetDowntimeLimit
qemu: Set migration parameters automatically
qemu: Properly reset migration params when libvirtd restarts
tests: Add tests for QEMU migration parameters
qemumigparamstest: Add basic test data
qemumigparamstest: Add test data for TLS parameters
qemu: Store API flags for async jobs in qemuDomainJobObj
qemu: Properly avoid cancelling memory-only dump
qemu: Drop priv->job.dump_memory_only bool
qemu: Drop priv->job.postcopyEnabled bool
qemu: Store API flags for async jobs in status XML
qemu: Don't delete TLS objects unless TLS migration was requested
qemuxml2xmltest: Add status XML tests for migration params
po/POTFILES.in | 1 +
src/libvirt_private.syms | 1 +
src/qemu/Makefile.inc.am | 3 +
src/qemu/qemu_domain.c | 110 +-
src/qemu/qemu_domain.h | 25 +-
src/qemu/qemu_driver.c | 175 ++-
src/qemu/qemu_migration.c | 926 ++---------
src/qemu/qemu_migration.h | 66 +-
src/qemu/qemu_migration_cookie.c | 136 +-
src/qemu/qemu_migration_cookie.h | 15 +
src/qemu/qemu_migration_params.c | 1351 +++++++++++++++++
src/qemu/qemu_migration_params.h | 156 ++
src/qemu/qemu_migration_paramspriv.h | 35 +
src/qemu/qemu_monitor.c | 76 +-
src/qemu/qemu_monitor.h | 56 +-
src/qemu/qemu_monitor_json.c | 133 +-
src/qemu/qemu_monitor_json.h | 9 +-
src/qemu/qemu_process.c | 30 +-
src/qemu/qemu_process.h | 3 +-
src/util/virjson.c | 8 +
src/util/virjson.h | 2 +
tests/Makefile.am | 12 +
tests/qemumigparamsdata/basic.json | 9 +
tests/qemumigparamsdata/basic.reply | 12 +
tests/qemumigparamsdata/basic.xml | 11 +
tests/qemumigparamsdata/empty.json | 3 +
tests/qemumigparamsdata/empty.reply | 5 +
tests/qemumigparamsdata/empty.xml | 4 +
tests/qemumigparamsdata/tls-enabled.json | 11 +
tests/qemumigparamsdata/tls-enabled.reply | 14 +
tests/qemumigparamsdata/tls-enabled.xml | 13 +
tests/qemumigparamsdata/tls-hostname.json | 11 +
tests/qemumigparamsdata/tls-hostname.reply | 14 +
tests/qemumigparamsdata/tls-hostname.xml | 13 +
tests/qemumigparamsdata/tls.json | 11 +
tests/qemumigparamsdata/tls.reply | 14 +
tests/qemumigparamsdata/tls.xml | 13 +
tests/qemumigparamsdata/unsupported.json | 3 +
tests/qemumigparamsdata/unsupported.reply | 7 +
tests/qemumigparamsdata/unsupported.xml | 4 +
tests/qemumigparamstest.c | 242 +++
tests/qemumonitorjsontest.c | 123 +-
.../migration-in-params-in.xml | 400 +++++
.../migration-in-params-out.xml | 1 +
.../migration-out-nbd-out.xml | 450 +++++-
.../migration-out-params-in.xml | 414 +++++
.../migration-out-params-out.xml | 1 +
tests/qemuxml2xmltest.c | 2 +
48 files changed, 3766 insertions(+), 1368 deletions(-)
create mode 100644 src/qemu/qemu_migration_params.c
create mode 100644 src/qemu/qemu_migration_params.h
create mode 100644 src/qemu/qemu_migration_paramspriv.h
create mode 100644 tests/qemumigparamsdata/basic.json
create mode 100644 tests/qemumigparamsdata/basic.reply
create mode 100644 tests/qemumigparamsdata/basic.xml
create mode 100644 tests/qemumigparamsdata/empty.json
create mode 100644 tests/qemumigparamsdata/empty.reply
create mode 100644 tests/qemumigparamsdata/empty.xml
create mode 100644 tests/qemumigparamsdata/tls-enabled.json
create mode 100644 tests/qemumigparamsdata/tls-enabled.reply
create mode 100644 tests/qemumigparamsdata/tls-enabled.xml
create mode 100644 tests/qemumigparamsdata/tls-hostname.json
create mode 100644 tests/qemumigparamsdata/tls-hostname.reply
create mode 100644 tests/qemumigparamsdata/tls-hostname.xml
create mode 100644 tests/qemumigparamsdata/tls.json
create mode 100644 tests/qemumigparamsdata/tls.reply
create mode 100644 tests/qemumigparamsdata/tls.xml
create mode 100644 tests/qemumigparamsdata/unsupported.json
create mode 100644 tests/qemumigparamsdata/unsupported.reply
create mode 100644 tests/qemumigparamsdata/unsupported.xml
create mode 100644 tests/qemumigparamstest.c
create mode 100644 tests/qemustatusxml2xmldata/migration-in-params-in.xml
create mode 120000 tests/qemustatusxml2xmldata/migration-in-params-out.xml
mode change 120000 => 100644 tests/qemustatusxml2xmldata/migration-out-nbd-out.xml
create mode 100644 tests/qemustatusxml2xmldata/migration-out-params-in.xml
create mode 120000 tests/qemustatusxml2xmldata/migration-out-params-out.xml
--
2.17.0
6 years, 7 months
[libvirt] [PATCH v1 0/7] Enable memory-backend-file.discard-data
by Michal Privoznik
Qemu introduced this in 11ae6ed8affdd13. A small refactor is needed
however.
Michal Privoznik (7):
qemu: Rename qemuMonitorGetObjectProps to qemuMonitorGetDeviceProps
qemu_capabilities: s/ObjectProps/DeviceProps/g
qemu_capabilities: Separate out device props fetching
qemu_monitor: Introduce qemuMonitorGetObjectProps
qemu_capabilities: Introduce QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD
tests: Update qemucapabilitiesdata
qemu: Enable memory-backend-file.discard-data whenever possible
src/qemu/qemu_capabilities.c | 269 +++++----
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 6 +
src/qemu/qemu_monitor.c | 21 +-
src/qemu/qemu_monitor.h | 5 +-
src/qemu/qemu_monitor_json.c | 62 ++-
src/qemu/qemu_monitor_json.h | 6 +-
.../qemucapabilitiesdata/caps_2.1.1.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_2.1.1.x86_64.xml | 2 +-
.../caps_2.10.0.aarch64.replies | 30 +-
tests/qemucapabilitiesdata/caps_2.10.0.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.ppc64.replies | 28 +-
tests/qemucapabilitiesdata/caps_2.10.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.10.0.s390x.replies | 32 +-
tests/qemucapabilitiesdata/caps_2.10.0.s390x.xml | 2 +-
.../caps_2.10.0.x86_64.replies | 540 +++++++++---------
tests/qemucapabilitiesdata/caps_2.10.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.11.0.s390x.replies | 26 +-
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 2 +-
.../caps_2.12.0.aarch64.replies | 24 +-
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.12.0.ppc64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.12.0.s390x.replies | 24 +-
.../caps_2.12.0.x86_64.replies | 612 +++++++++++----------
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 3 +-
.../qemucapabilitiesdata/caps_2.4.0.x86_64.replies | 20 +-
tests/qemucapabilitiesdata/caps_2.4.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.5.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.5.0.x86_64.xml | 2 +-
.../caps_2.6.0.aarch64.replies | 30 +-
tests/qemucapabilitiesdata/caps_2.6.0.aarch64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.ppc64.replies | 28 +-
tests/qemucapabilitiesdata/caps_2.6.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.6.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.6.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.s390x.replies | 28 +-
tests/qemucapabilitiesdata/caps_2.7.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.7.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.7.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.s390x.replies | 32 +-
tests/qemucapabilitiesdata/caps_2.8.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.8.0.x86_64.replies | 22 +-
tests/qemucapabilitiesdata/caps_2.8.0.x86_64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.ppc64.replies | 28 +-
tests/qemucapabilitiesdata/caps_2.9.0.ppc64.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.s390x.replies | 32 +-
tests/qemucapabilitiesdata/caps_2.9.0.s390x.xml | 2 +-
.../qemucapabilitiesdata/caps_2.9.0.x86_64.replies | 536 +++++++++---------
tests/qemucapabilitiesdata/caps_2.9.0.x86_64.xml | 2 +-
50 files changed, 1458 insertions(+), 1135 deletions(-)
--
2.16.1
6 years, 7 months