[libvirt] Project for profiles and defaults for libvirt domains
by Martin Kletzander
Hi everyone!
First of all sorry for such wide distribution, but apparently that's the
best way to make sure we cooperate nicely. So please be considerate as
this is a cross-post between huge amount of mailing lists.
After some discussions with developers from different projects that work
with libvirt one cannot but notice some common patterns and workarounds.
So I set off to see how can we make all our lives better and our coding
more effective (and maybe more fun as well). If all goes well we will
create a project that will accommodate most of the defaulting, policies,
workarounds and other common algorithms around libvirt domain
definitions. And since early design gets you half way, I would like to
know your feedback on several key points as well as on the general idea.
Also correct me brutally in case I'm wrong.
In order to not get confused in the following descriptions, I will refer
to this project idea using the name `virtuned`, but there is really no
name for it yet (although an abbreviation for "Virtualization
Abstraction Definition and Hypervisor Delegation" would suit well,
IMHO).
Here are some common problems and use cases that virtuned could solve
(or help with). Don't take it as something that's impossible to solve
on your own, but rather something that could be de-duplicated from
multiple projects or "done right" instead of various hack-ish solutions.
1) Default devices/values
Libvirt itself must default to whatever values there were before any
particular element was introduced due to the fact that it strives to
keep the guest ABI stable. That means, for example, that it can't just
add -vmcoreinfo option (for KASLR support) or magically add the pvpanic
device to all QEMU machines, even though it would be useful, as that
would change the guest ABI.
For default values this is even more obvious. Let's say someone figures
out some "pretty good" default values for various HyperV enlightenment
feature tunables. Libvirt can't magically change them, but each one of
the projects building on top of it doesn't want to keep that list
updated and take care of setting them in every new XML. Some projects
don't even expose those to the end user as a knob, while others might.
One more thing could be automatically figuring out best values based on
libosinfo-provided data.
2) Policies
Lot of the time there are parts of the domain definition that need to be
added, but nobody really cares about them. Sometimes it's enough to
have few templates, another time you might want to have a policy
per-scenario and want to combine them in various ways. For example with
the data provided by point 1).
For example if you want PCI-Express, you need the q35 machine type, but
you don't really want to care about the machine type. Or you want to
use SPICE, but you don't want to care about adding QXL.
What if some of these policies could be specified once (using some DSL
for example), and used by virtuned to merge them in a unified and
predictable way?
3) Abstracting the XML
This is probably just usable for stateless apps, but it might happen
that some apps don't really want to care about the XML at all. They
just want an abstract view of the domain, possibly add/remove a device
and that's it. We could do that as well. I can't really tell how much
of a demand there is for it, though.
4) Identifying devices properly
In contrast to the previous point, stateful apps might have a problem
identifying devices after hotplug. For example, let's say you don't
care about the addresses and leave that up to libvirt. You hotplug a
device into the domain and dump the new XML of it. Depending on what
type of device it was, you might need to identify it based on different
values. It could be <target dev=''/> for disks, <mac address=''/> for
interfaces etc. For some devices it might not even be possible and you
need to remember the addresses of all the previous devices and then
parse them just to identify that one device and then throw them away.
With new enough libvirt you could use the user aliases for that, but
turns out it's not that easy to use them properly anyway. Also the
aliases won't help users identify that device inside the guest.
<rant>
We really should've gone with new attribute for the user alias instead
of using an existing one, given how many problems that is causing.
</rant>
5) Generating the right XML snippet for device hot-(un)plug
This is kind of related to some previous points.
When hot-plugging a device and creating an XML snippet for it, you want
to keep the defaults from point 1) and policies from 2) in mind. Or
something related to the already existing domain which you can describe
systematically. And adding something for identification (see previous
point).
Doing the hot-unplug is easy depending on how much information about
that device is saved by your application. The less you save about the
device (or show to the user in a GUI, if applicable) the harder it might
be to generate an XML that libvirt will accept. Again, some problems
with this should be fixed in libvirt, some of them are easy to
workaround. But having a common ground that takes care of this should
help some projects.
Hot-unplug could be implemented just based on the alias. This is
something that would fit into libvirt as well.
========================================================================
To mention some pre-existing solutions:
- I understand OpenStack has some really sensible and wisely chosen
and/or tested default values.
- I know KubeVirt has VirtualMachinePresets. That is something closely
related to points 1) and 2). Also their abstraction of the XML might
be usable for point 3).
- There was an effort on creating policy based configuration of libvirt
objects called libvirt-designer. This is closely related to points 2)
and 3). Unfortunately there was no much going on lately and part of
virt-manager repository has currently more features implemented with
the same ideas in mind, just not exported for public use.
We could utilize some of the above to various extents.
Let me know what you think and have a nice day.
Martin
7 years
[libvirt] [PATCH 0/7] Remove the legacy xen driver
by Jim Fehlig
Long overdue first cut at remove the old xen driver. The first 3 patches
move existing tests to WITH_LIBXL since we'll want to continue supporting
conversion of the various xen config formats. The remain patches remove
the cruft.
Jim Fehlig (7):
tests: move xml2sexpr tests to WITH_LIBXL
tests: move sexpr2xml tests to WITH_LIBXL
tests: move xmconfig tests to WITH_LIBXL
Remove xencaps tests and data files
Remove the xend driver
docs: remove mention of legacy Xen driver
spec: remove legacy xen driver
configure.ac | 7 +-
docs/architecture.html.in | 28 +-
docs/bugs.html.in | 3 +-
docs/uri.html.in | 74 -
docs/windows.html.in | 2 +-
libvirt.spec.in | 57 +-
m4/virt-driver-xen.m4 | 142 -
po/POTFILES.in | 7 -
src/Makefile.am | 1 -
src/xen/Makefile.inc.am | 67 -
src/xen/block_stats.c | 355 ---
src/xen/block_stats.h | 38 -
src/xen/xen_driver.c | 2845 -----------------
src/xen/xen_driver.h | 204 --
src/xen/xen_hypervisor.c | 3125 -------------------
src/xen/xen_hypervisor.h | 142 -
src/xen/xen_inotify.c | 447 ---
src/xen/xen_inotify.h | 33 -
src/xen/xend_internal.c | 3221 --------------------
src/xen/xend_internal.h | 213 --
src/xen/xm_internal.c | 1484 ---------
src/xen/xm_internal.h | 105 -
src/xen/xs_internal.c | 920 ------
src/xen/xs_internal.h | 101 -
tests/Makefile.am | 59 +-
tests/sexpr2xmldata/sexpr2xml-boot-grub.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-curmem.xml | 1 -
.../sexpr2xml-disk-block-shareable.xml | 1 -
tests/sexpr2xmldata/sexpr2xml-disk-block.xml | 3 +-
.../sexpr2xml-disk-drv-blktap-qcow.xml | 1 -
.../sexpr2xml-disk-drv-blktap-raw.xml | 1 -
.../sexpr2xml-disk-drv-blktap2-raw.xml | 1 -
tests/sexpr2xmldata/sexpr2xml-disk-file.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml | 7 +-
.../sexpr2xml-fv-serial-dev-2-ports.xml | 7 +-
.../sexpr2xml-fv-serial-dev-2nd-port.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml | 7 +-
.../sexpr2xml-fv-serial-tcp-telnet.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-sound.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv-v2.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-fv.xml | 7 +-
tests/sexpr2xmldata/sexpr2xml-net-bridged.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-net-e1000.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-net-routed.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml | 6 +-
tests/sexpr2xmldata/sexpr2xml-pci-devs.xml | 5 +-
.../sexpr2xml-pv-bootloader-cmdline.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml | 3 +-
.../sexpr2xml-pv-vfb-new-vncdisplay.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml | 3 +-
.../sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-pv.xml | 3 +-
tests/sexpr2xmldata/sexpr2xml-vif-rate.xml | 7 +-
tests/sexpr2xmltest.c | 35 +-
tests/testutilsxen.c | 64 -
tests/testutilsxen.h | 2 -
tests/vircapstest.c | 34 -
tests/virdrivermoduletest.c | 3 -
tests/virschematest.c | 3 +-
tests/xencapsdata/xen-i686-pae-hvm.caps | 1 -
tests/xencapsdata/xen-i686-pae-hvm.cpuinfo | 37 -
tests/xencapsdata/xen-i686-pae-hvm.xml | 49 -
tests/xencapsdata/xen-i686-pae.caps | 1 -
tests/xencapsdata/xen-i686-pae.cpuinfo | 18 -
tests/xencapsdata/xen-i686-pae.xml | 32 -
tests/xencapsdata/xen-i686.caps | 1 -
tests/xencapsdata/xen-i686.cpuinfo | 18 -
tests/xencapsdata/xen-i686.xml | 29 -
tests/xencapsdata/xen-ia64-be-hvm.caps | 1 -
tests/xencapsdata/xen-ia64-be-hvm.cpuinfo | 29 -
tests/xencapsdata/xen-ia64-be-hvm.xml | 45 -
tests/xencapsdata/xen-ia64-be.caps | 1 -
tests/xencapsdata/xen-ia64-be.cpuinfo | 29 -
tests/xencapsdata/xen-ia64-be.xml | 29 -
tests/xencapsdata/xen-ia64-hvm.caps | 1 -
tests/xencapsdata/xen-ia64-hvm.cpuinfo | 29 -
tests/xencapsdata/xen-ia64-hvm.xml | 41 -
tests/xencapsdata/xen-ia64.caps | 1 -
tests/xencapsdata/xen-ia64.cpuinfo | 29 -
tests/xencapsdata/xen-ia64.xml | 26 -
tests/xencapsdata/xen-ppc64.caps | 1 -
tests/xencapsdata/xen-ppc64.cpuinfo | 0
tests/xencapsdata/xen-ppc64.xml | 26 -
tests/xencapsdata/xen-x86_64-hvm.caps | 1 -
tests/xencapsdata/xen-x86_64-hvm.cpuinfo | 47 -
tests/xencapsdata/xen-x86_64-hvm.xml | 61 -
tests/xencapsdata/xen-x86_64.caps | 1 -
tests/xencapsdata/xen-x86_64.cpuinfo | 47 -
tests/xencapsdata/xen-x86_64.xml | 29 -
tests/xencapstest.c | 224 --
tests/xmconfigdata/test-disk-drv-blktap-raw.xml | 3 +-
tests/xmconfigdata/test-disk-drv-blktap2-raw.xml | 3 +-
tests/xmconfigdata/test-escape-paths.xml | 11 +-
.../xmconfigdata/test-fullvirt-default-feature.xml | 9 +-
tests/xmconfigdata/test-fullvirt-force-hpet.xml | 9 +-
tests/xmconfigdata/test-fullvirt-force-nohpet.xml | 9 +-
tests/xmconfigdata/test-fullvirt-localtime.xml | 9 +-
tests/xmconfigdata/test-fullvirt-net-netfront.xml | 9 +-
tests/xmconfigdata/test-fullvirt-new-cdrom.xml | 9 +-
tests/xmconfigdata/test-fullvirt-nohap.xml | 9 +-
tests/xmconfigdata/test-fullvirt-parallel-tcp.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-file.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-null.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-pipe.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-pty.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-stdio.xml | 9 +-
.../test-fullvirt-serial-tcp-telnet.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-tcp.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-udp.xml | 9 +-
tests/xmconfigdata/test-fullvirt-serial-unix.xml | 9 +-
tests/xmconfigdata/test-fullvirt-sound.xml | 9 +-
tests/xmconfigdata/test-fullvirt-usbmouse.xml | 9 +-
tests/xmconfigdata/test-fullvirt-usbtablet.xml | 9 +-
tests/xmconfigdata/test-fullvirt-utc.xml | 9 +-
tests/xmconfigdata/test-no-source-cdrom.xml | 9 +-
tests/xmconfigdata/test-paravirt-maxvcpus.xml | 5 +-
tests/xmconfigdata/test-paravirt-net-e1000.xml | 5 +-
tests/xmconfigdata/test-paravirt-net-vifname.xml | 5 +-
.../test-paravirt-new-pvfb-vncdisplay.xml | 5 +-
tests/xmconfigdata/test-paravirt-new-pvfb.xml | 5 +-
tests/xmconfigdata/test-paravirt-vcpu.xml | 5 +-
tests/xmconfigdata/test-pci-devs.xml | 11 +-
tests/xmconfigtest.c | 22 +-
tests/xml2sexprdata/xml2sexpr-escape.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-force-hpet.sexpr | 2 +-
.../xml2sexprdata/xml2sexpr-fv-force-nohpet.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-kernel.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-localtime.sexpr | 2 +-
.../xml2sexprdata/xml2sexpr-fv-net-netfront.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-net-rate.sexpr | 2 +-
.../xml2sexprdata/xml2sexpr-fv-parallel-tcp.sexpr | 2 +-
.../xml2sexpr-fv-serial-dev-2-ports.sexpr | 2 +-
.../xml2sexpr-fv-serial-dev-2nd-port.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-file.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-null.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-pipe.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-pty.sexpr | 2 +-
.../xml2sexprdata/xml2sexpr-fv-serial-stdio.sexpr | 2 +-
.../xml2sexpr-fv-serial-tcp-telnet.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-tcp.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-udp.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-serial-unix.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-sound.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-usbmouse.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-utc.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-v2.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv-vncunused.sexpr | 2 +-
tests/xml2sexprdata/xml2sexpr-fv.sexpr | 2 +-
tests/xml2sexprtest.c | 7 +-
170 files changed, 282 insertions(+), 15004 deletions(-)
delete mode 100644 m4/virt-driver-xen.m4
delete mode 100644 src/xen/Makefile.inc.am
delete mode 100644 src/xen/block_stats.c
delete mode 100644 src/xen/block_stats.h
delete mode 100644 src/xen/xen_driver.c
delete mode 100644 src/xen/xen_driver.h
delete mode 100644 src/xen/xen_hypervisor.c
delete mode 100644 src/xen/xen_hypervisor.h
delete mode 100644 src/xen/xen_inotify.c
delete mode 100644 src/xen/xen_inotify.h
delete mode 100644 src/xen/xend_internal.c
delete mode 100644 src/xen/xend_internal.h
delete mode 100644 src/xen/xm_internal.c
delete mode 100644 src/xen/xm_internal.h
delete mode 100644 src/xen/xs_internal.c
delete mode 100644 src/xen/xs_internal.h
delete mode 100644 tests/xencapsdata/xen-i686-pae-hvm.caps
delete mode 100644 tests/xencapsdata/xen-i686-pae-hvm.cpuinfo
delete mode 100644 tests/xencapsdata/xen-i686-pae-hvm.xml
delete mode 100644 tests/xencapsdata/xen-i686-pae.caps
delete mode 100644 tests/xencapsdata/xen-i686-pae.cpuinfo
delete mode 100644 tests/xencapsdata/xen-i686-pae.xml
delete mode 100644 tests/xencapsdata/xen-i686.caps
delete mode 100644 tests/xencapsdata/xen-i686.cpuinfo
delete mode 100644 tests/xencapsdata/xen-i686.xml
delete mode 100644 tests/xencapsdata/xen-ia64-be-hvm.caps
delete mode 100644 tests/xencapsdata/xen-ia64-be-hvm.cpuinfo
delete mode 100644 tests/xencapsdata/xen-ia64-be-hvm.xml
delete mode 100644 tests/xencapsdata/xen-ia64-be.caps
delete mode 100644 tests/xencapsdata/xen-ia64-be.cpuinfo
delete mode 100644 tests/xencapsdata/xen-ia64-be.xml
delete mode 100644 tests/xencapsdata/xen-ia64-hvm.caps
delete mode 100644 tests/xencapsdata/xen-ia64-hvm.cpuinfo
delete mode 100644 tests/xencapsdata/xen-ia64-hvm.xml
delete mode 100644 tests/xencapsdata/xen-ia64.caps
delete mode 100644 tests/xencapsdata/xen-ia64.cpuinfo
delete mode 100644 tests/xencapsdata/xen-ia64.xml
delete mode 100644 tests/xencapsdata/xen-ppc64.caps
delete mode 100644 tests/xencapsdata/xen-ppc64.cpuinfo
delete mode 100644 tests/xencapsdata/xen-ppc64.xml
delete mode 100644 tests/xencapsdata/xen-x86_64-hvm.caps
delete mode 100644 tests/xencapsdata/xen-x86_64-hvm.cpuinfo
delete mode 100644 tests/xencapsdata/xen-x86_64-hvm.xml
delete mode 100644 tests/xencapsdata/xen-x86_64.caps
delete mode 100644 tests/xencapsdata/xen-x86_64.cpuinfo
delete mode 100644 tests/xencapsdata/xen-x86_64.xml
delete mode 100644 tests/xencapstest.c
--
2.16.2
7 years
[libvirt] [PATCH 0/4] Initial phase of domain obj add/remove cleanup
by John Ferlan
As evidenced by various code comments, the process of adding and
removing objects to/from the domain object list is problematic.
Long story short is that the Add logic doesn't generate enough
object references and the Remove logic removes one extra than
was added during Add and leaves the object unlocked upon return
(as well as doing a small fire dance to ensure proper lock
ordering). Some drivers (libxl, lxc, qemu, and vz) handle the
not enough references by adding an virObjectRef to the object
returned from the Add code, while others (bhyve, openvz, test,
uml, and vmware) live rather vicariously and carefully, but at
least don't reference the object after calling Remove.
Fixing all this will take a few patch streams across a few
mostly dormant driver modules and some coordination with the
vir*FindBy{UUID|ID|Name} logic. Some of that was already posted
previously, but only received minimal notice:
https://www.redhat.com/archives/libvir-list/2018-March/msg00489.html
So rather than (re)posting a 20-30 patch series on list which
probably won't get reviewed, I'll take things in smaller batches
of patches in the hopes that all this can be worked through so
that the end result is "cleaner" (and agreed upon).
John Ferlan (4):
conf: Fix error path logic in virDomainObjListAddLocked
conf: Fix error path logic in virDomainObjListLoadStatus
conf: Introduce virDomainObjListAddObjLocked
conf: Fix virDomainObjParseFile object handling
src/conf/virdomainobjlist.c | 63 ++++++++++++++++++++++++++++-----------------
src/lxc/lxc_controller.c | 2 +-
tests/qemuxml2xmltest.c | 2 +-
3 files changed, 42 insertions(+), 25 deletions(-)
--
2.13.6
7 years
[libvirt] [PATCH 0/7] Prepare for daemon split
by Daniel P. Berrangé
When we split up the daemons, libvirtd will need to forward different
sets of APIs to different daemons. This means libvirtd is going to need
to have multiple virConnectPtr instances open.
This series prepares for that by introducing "separate" connections,
which are actually just an extra reference on the current single
connection. This will facilitate later changes.
Daniel P. Berrangé (7):
rpc: refactor way connection object is generated for remote dispatch
remote: use a separate connection for interface APIs
remote: use a separate connection for network APIs
remote: use a separate connection for nodedev APIs
remote: use a separate connection for nwfilter APIs
remote: use a separate connection for secret APIs
remote: use a separate connection for storage APIs
src/remote/remote_daemon.h | 6 +++
src/remote/remote_daemon_dispatch.c | 81 +++++++++++++++++++------------
src/rpc/gendispatch.pl | 95 ++++++++++++++++++++++++++++---------
3 files changed, 128 insertions(+), 54 deletions(-)
--
2.14.3
7 years
[libvirt] [PATCH] qemu: cpu: fix fullCPU to include all emulatable qemu features
by Nikolay Shirokovskiy
On Core i5 650 guest fail to start with error [1] if guest cpu config is taken
from domcapabilities and check is set to partial.
The problem is in qemu caps fullCPU calculation in virQEMUCapsInitHostCPUModel.
It is supposed to include features emulated by qemu and missed on host. Some of
such features may be not included however.
For mentioned cpu host cpu is detected as Westmere and guest cpu as
SandyBridge. x2apic is missed on host and provided by installed qemu. The
feature is not mentioned in guest cpu features explicitly because SandyBridge
model include it. As a result fullCPU does not include x2apic too.
Solution is to expand guest cpu features before updating fullCPU features.
[1] error: the CPU is incompatible with host CPU: Host CPU does not
provide required features: x2apic, tsc-deadline
---
src/qemu/qemu_capabilities.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 9c1eeac..edba716 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -3475,6 +3475,7 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
virDomainVirtType type)
{
virCPUDefPtr cpu = NULL;
+ virCPUDefPtr cpuExpanded = NULL;
virCPUDefPtr migCPU = NULL;
virCPUDefPtr hostCPU = NULL;
virCPUDefPtr fullCPU = NULL;
@@ -3504,9 +3505,13 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
NULL, NULL)))
goto error;
- for (i = 0; i < cpu->nfeatures; i++) {
- if (cpu->features[i].policy == VIR_CPU_FEATURE_REQUIRE &&
- virCPUDefUpdateFeature(fullCPU, cpu->features[i].name,
+ if (!(cpuExpanded = virCPUDefCopy(cpu)) ||
+ virCPUExpandFeatures(qemuCaps->arch, cpuExpanded) < 0)
+ goto error;
+
+ for (i = 0; i < cpuExpanded->nfeatures; i++) {
+ if (cpuExpanded->features[i].policy == VIR_CPU_FEATURE_REQUIRE &&
+ virCPUDefUpdateFeature(fullCPU, cpuExpanded->features[i].name,
VIR_CPU_FEATURE_REQUIRE) < 0)
goto error;
}
@@ -3528,6 +3533,7 @@ virQEMUCapsInitHostCPUModel(virQEMUCapsPtr qemuCaps,
virQEMUCapsSetHostModel(qemuCaps, type, cpu, migCPU, fullCPU);
cleanup:
+ virCPUDefFree(cpuExpanded);
virCPUDefFree(hostCPU);
return;
--
1.8.3.1
7 years
[libvirt] [PATCH 00/44] Require QEMU 1.3.0 or newer
by Ján Tomko
It's been a while since we last bumped the minimum QEMU version.
Let's get rid of -help parsing and bring our test suite closer
to real world usage by implying lots of capabilities.
Ján Tomko (44):
qemuxml2argvtest: Fix q35-virt-manager capabilities
Delete bogus cpu-host-passthrough test
Force QMP capability probing
Require QEMU 1.3.0
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 | 931 +---------
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 --
tests/qemucapabilitiesdata/caps_1.3.1.x86_64.xml | 35 -
tests/qemucapabilitiesdata/caps_1.4.2.x86_64.xml | 35 -
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 | 1 -
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 +-
.../qemuxml2argvdata/aarch64-cpu-passthrough.args | 10 +-
tests/qemuxml2argvdata/aarch64-gic-host.args | 9 +-
tests/qemuxml2argvdata/aarch64-gic-none-tcg.args | 9 +-
tests/qemuxml2argvdata/aarch64-gic-v2.args | 9 +-
tests/qemuxml2argvdata/aarch64-gic-v3.args | 9 +-
tests/qemuxml2argvdata/aarch64-kvm-32-on-64.args | 14 +-
tests/qemuxml2argvdata/aarch64-noacpi-nouefi.args | 9 +-
tests/qemuxml2argvdata/aarch64-noacpi-uefi.args | 9 +-
tests/qemuxml2argvdata/aarch64-pci-serial.args | 10 +-
.../aarch64-usb-controller-nec-xhci.args | 9 +-
.../aarch64-usb-controller-qemu-xhci.args | 9 +-
tests/qemuxml2argvdata/aarch64-video-default.args | 8 +-
.../aarch64-video-virtio-gpu-pci.args | 16 +-
.../aarch64-virt-2.6-virtio-pci-default.args | 15 +-
.../qemuxml2argvdata/aarch64-virt-default-nic.args | 14 +-
tests/qemuxml2argvdata/aarch64-virt-virtio.args | 14 +-
.../aarch64-virtio-pci-default.args | 15 +-
.../aarch64-virtio-pci-manual-addresses.args | 20 +-
tests/qemuxml2argvdata/acpi-table.args | 9 +-
tests/qemuxml2argvdata/arm-vexpressa9-basic.args | 10 +-
tests/qemuxml2argvdata/arm-vexpressa9-nodevs.args | 10 +-
tests/qemuxml2argvdata/arm-vexpressa9-virtio.args | 14 +-
tests/qemuxml2argvdata/arm-virt-virtio.args | 14 +-
tests/qemuxml2argvdata/autoindex.args | 9 +-
tests/qemuxml2argvdata/balloon-ccw-deflate.args | 10 +-
tests/qemuxml2argvdata/balloon-device-auto.args | 10 +-
.../balloon-device-deflate-off.args | 10 +-
tests/qemuxml2argvdata/balloon-device-deflate.args | 10 +-
tests/qemuxml2argvdata/balloon-device-period.args | 10 +-
tests/qemuxml2argvdata/balloon-device.args | 10 +-
tests/qemuxml2argvdata/balloon-mmio-deflate.args | 10 +-
tests/qemuxml2argvdata/bios-nvram-secure.args | 11 +-
tests/qemuxml2argvdata/bios-nvram.args | 11 +-
tests/qemuxml2argvdata/bios.args | 11 +-
tests/qemuxml2argvdata/blkdeviotune-group-num.args | 9 +-
.../qemuxml2argvdata/blkdeviotune-max-length.args | 9 +-
tests/qemuxml2argvdata/blkdeviotune-max.args | 9 +-
tests/qemuxml2argvdata/blkdeviotune.args | 9 +-
tests/qemuxml2argvdata/blkiotune-device.args | 9 +-
tests/qemuxml2argvdata/blkiotune.args | 9 +-
tests/qemuxml2argvdata/boot-cdrom.args | 9 +-
tests/qemuxml2argvdata/boot-complex-bootindex.args | 20 +-
tests/qemuxml2argvdata/boot-complex.args | 19 +-
tests/qemuxml2argvdata/boot-floppy-q35.args | 9 +-
tests/qemuxml2argvdata/boot-floppy.args | 9 +-
.../boot-menu-disable-drive-bootindex.args | 9 +-
.../qemuxml2argvdata/boot-menu-disable-drive.args | 9 +-
tests/qemuxml2argvdata/boot-menu-disable.args | 9 +-
.../boot-menu-enable-bootindex.args | 9 +-
.../boot-menu-enable-with-timeout.args | 9 +-
tests/qemuxml2argvdata/boot-menu-enable.args | 9 +-
tests/qemuxml2argvdata/boot-multi.args | 9 +-
tests/qemuxml2argvdata/boot-network.args | 9 +-
tests/qemuxml2argvdata/boot-order.args | 15 +-
tests/qemuxml2argvdata/boot-strict.args | 20 +-
tests/qemuxml2argvdata/bootindex-floppy-q35.args | 9 +-
tests/qemuxml2argvdata/channel-guestfwd.args | 10 +-
tests/qemuxml2argvdata/channel-spicevmc-old.args | 29 -
tests/qemuxml2argvdata/channel-spicevmc-old.xml | 35 -
tests/qemuxml2argvdata/channel-spicevmc.args | 8 +-
tests/qemuxml2argvdata/channel-virtio-auto.args | 10 +-
tests/qemuxml2argvdata/channel-virtio-autoadd.args | 10 +-
.../channel-virtio-autoassign.args | 10 +-
tests/qemuxml2argvdata/channel-virtio-default.args | 10 +-
tests/qemuxml2argvdata/channel-virtio-state.args | 10 +-
tests/qemuxml2argvdata/channel-virtio-unix.args | 10 +-
tests/qemuxml2argvdata/channel-virtio.args | 10 +-
tests/qemuxml2argvdata/chardev-reconnect.args | 10 +-
tests/qemuxml2argvdata/clock-catchup.args | 8 +-
tests/qemuxml2argvdata/clock-france.args | 8 +-
tests/qemuxml2argvdata/clock-hpet-off.args | 8 +-
.../clock-localtime-basis-localtime.args | 8 +-
tests/qemuxml2argvdata/clock-localtime.args | 10 +-
tests/qemuxml2argvdata/clock-timer-hyperv-rtc.args | 9 +-
tests/qemuxml2argvdata/clock-utc.args | 10 +-
tests/qemuxml2argvdata/clock-variable.args | 8 +-
tests/qemuxml2argvdata/console-compat-auto.args | 9 +-
tests/qemuxml2argvdata/console-compat-chardev.args | 10 +-
tests/qemuxml2argvdata/console-compat.args | 9 +-
tests/qemuxml2argvdata/console-sclp.args | 10 +-
tests/qemuxml2argvdata/console-virtio-ccw.args | 10 +-
tests/qemuxml2argvdata/console-virtio-many.args | 10 +-
tests/qemuxml2argvdata/console-virtio-s390.args | 10 +-
tests/qemuxml2argvdata/console-virtio.args | 10 +-
tests/qemuxml2argvdata/controller-order.args | 13 +-
tests/qemuxml2argvdata/cpu-Haswell-noTSX.args | 9 +-
tests/qemuxml2argvdata/cpu-Haswell.args | 9 +-
tests/qemuxml2argvdata/cpu-Haswell2.args | 9 +-
tests/qemuxml2argvdata/cpu-Haswell3.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-disable.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-disable2.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-disable3.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-emulate-l3.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-passthrough.args | 9 +-
tests/qemuxml2argvdata/cpu-cache-passthrough2.args | 9 +-
tests/qemuxml2argvdata/cpu-check-default-none.args | 9 +-
.../qemuxml2argvdata/cpu-check-default-none2.args | 9 +-
.../cpu-check-default-partial.args | 9 +-
.../cpu-check-default-partial2.args | 9 +-
tests/qemuxml2argvdata/cpu-check-none.args | 9 +-
tests/qemuxml2argvdata/cpu-eoi-disabled.args | 9 +-
tests/qemuxml2argvdata/cpu-eoi-enabled.args | 9 +-
tests/qemuxml2argvdata/cpu-exact1.args | 9 +-
tests/qemuxml2argvdata/cpu-exact2-nofallback.args | 9 +-
tests/qemuxml2argvdata/cpu-exact2.args | 9 +-
tests/qemuxml2argvdata/cpu-fallback.args | 9 +-
tests/qemuxml2argvdata/cpu-host-kvmclock.args | 10 +-
tests/qemuxml2argvdata/cpu-host-model-cmt.args | 9 +-
.../qemuxml2argvdata/cpu-host-model-fallback.args | 9 +-
tests/qemuxml2argvdata/cpu-host-model-vendor.args | 9 +-
tests/qemuxml2argvdata/cpu-host-model.args | 9 +-
.../cpu-host-passthrough-features.args | 9 +-
tests/qemuxml2argvdata/cpu-host-passthrough.args | 9 +-
tests/qemuxml2argvdata/cpu-hotplug-startup.args | 9 +-
tests/qemuxml2argvdata/cpu-kvmclock.args | 10 +-
tests/qemuxml2argvdata/cpu-minimum1.args | 9 +-
tests/qemuxml2argvdata/cpu-minimum2.args | 9 +-
tests/qemuxml2argvdata/cpu-numa-disjoint.args | 9 +-
tests/qemuxml2argvdata/cpu-numa-memshared.args | 9 +-
.../cpu-numa-no-memory-element.args | 9 +-
tests/qemuxml2argvdata/cpu-numa1.args | 9 +-
tests/qemuxml2argvdata/cpu-numa2.args | 9 +-
tests/qemuxml2argvdata/cpu-s390-features.args | 9 +-
tests/qemuxml2argvdata/cpu-s390-zEC12.args | 9 +-
tests/qemuxml2argvdata/cpu-strict1.args | 9 +-
tests/qemuxml2argvdata/cpu-topology1.args | 9 +-
tests/qemuxml2argvdata/cpu-topology2.args | 9 +-
tests/qemuxml2argvdata/cpu-topology3.args | 9 +-
tests/qemuxml2argvdata/cpu-tsc-frequency.args | 9 +-
tests/qemuxml2argvdata/cputune-numatune.args | 9 +-
tests/qemuxml2argvdata/cputune-zero-shares.args | 9 +-
tests/qemuxml2argvdata/cputune.args | 9 +-
tests/qemuxml2argvdata/debug-threads.args | 9 +-
tests/qemuxml2argvdata/default-kvm-host-arch.args | 9 +-
tests/qemuxml2argvdata/default-qemu-host-arch.args | 9 +-
tests/qemuxml2argvdata/disk-aio.args | 9 +-
tests/qemuxml2argvdata/disk-blockio.args | 10 +-
tests/qemuxml2argvdata/disk-cdrom-empty.args | 9 +-
tests/qemuxml2argvdata/disk-cdrom-network-ftp.args | 9 +-
.../qemuxml2argvdata/disk-cdrom-network-ftps.args | 9 +-
.../qemuxml2argvdata/disk-cdrom-network-http.args | 9 +-
.../qemuxml2argvdata/disk-cdrom-network-https.args | 9 +-
.../qemuxml2argvdata/disk-cdrom-network-tftp.args | 9 +-
.../disk-cdrom-tray-no-device-cap.args | 9 +-
tests/qemuxml2argvdata/disk-cdrom-tray.args | 11 +-
tests/qemuxml2argvdata/disk-cdrom.args | 9 +-
tests/qemuxml2argvdata/disk-copy_on_read.args | 17 +-
tests/qemuxml2argvdata/disk-drive-boot-cdrom.args | 9 +-
tests/qemuxml2argvdata/disk-drive-boot-disk.args | 9 +-
.../disk-drive-cache-directsync.args | 9 +-
.../qemuxml2argvdata/disk-drive-cache-unsafe.args | 9 +-
.../qemuxml2argvdata/disk-drive-cache-v2-none.args | 9 +-
tests/qemuxml2argvdata/disk-drive-cache-v2-wb.args | 9 +-
tests/qemuxml2argvdata/disk-drive-cache-v2-wt.args | 9 +-
.../qemuxml2argvdata/disk-drive-copy-on-read.args | 9 +-
.../qemuxml2argvdata/disk-drive-detect-zeroes.args | 11 +-
tests/qemuxml2argvdata/disk-drive-discard.args | 11 +-
.../disk-drive-error-policy-enospace.args | 7 +-
.../disk-drive-error-policy-stop.args | 7 +-
.../disk-drive-error-policy-wreport-rignore.args | 7 +-
tests/qemuxml2argvdata/disk-drive-fmt-qcow.args | 9 +-
.../disk-drive-network-gluster.args | 9 +-
.../disk-drive-network-iscsi-auth.args | 9 +-
.../disk-drive-network-iscsi-lun.args | 10 +-
.../qemuxml2argvdata/disk-drive-network-iscsi.args | 9 +-
.../disk-drive-network-nbd-export.args | 9 +-
.../disk-drive-network-nbd-ipv6-export.args | 9 +-
.../disk-drive-network-nbd-ipv6.args | 9 +-
.../disk-drive-network-nbd-unix.args | 9 +-
tests/qemuxml2argvdata/disk-drive-network-nbd.args | 9 +-
.../disk-drive-network-rbd-auth-AES.args | 9 +-
.../disk-drive-network-rbd-auth.args | 9 +-
.../disk-drive-network-rbd-ipv6.args | 9 +-
tests/qemuxml2argvdata/disk-drive-network-rbd.args | 9 +-
.../disk-drive-network-sheepdog.args | 9 +-
.../disk-drive-network-source-auth.args | 9 +-
.../disk-drive-network-tlsx509-vxhs.args | 15 +-
.../qemuxml2argvdata/disk-drive-network-vxhs.args | 11 +-
tests/qemuxml2argvdata/disk-drive-no-boot.args | 9 +-
.../qemuxml2argvdata/disk-drive-readonly-disk.args | 10 +-
.../disk-drive-readonly-no-device.args | 10 +-
.../disk-drive-shared-locking.args | 9 +-
tests/qemuxml2argvdata/disk-drive-shared.args | 9 +-
.../disk-floppy-tray-no-device-cap.args | 9 +-
tests/qemuxml2argvdata/disk-floppy-tray.args | 9 +-
tests/qemuxml2argvdata/disk-floppy.args | 9 +-
tests/qemuxml2argvdata/disk-geometry.args | 9 +-
.../disk-hostdev-scsi-virtio-iscsi-auth-AES.args | 9 +-
tests/qemuxml2argvdata/disk-ide-drive-split.args | 10 +-
tests/qemuxml2argvdata/disk-ide-wwn.args | 9 +-
tests/qemuxml2argvdata/disk-ioeventfd.args | 15 +-
tests/qemuxml2argvdata/disk-iscsi.args | 9 +-
.../qemuxml2argvdata/disk-many-format-probing.args | 9 +-
tests/qemuxml2argvdata/disk-many.args | 9 +-
tests/qemuxml2argvdata/disk-order.args | 9 +-
tests/qemuxml2argvdata/disk-sata-device.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-device-auto.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-device.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-disk-split.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-disk-vpd.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-disk-wwn.args | 12 +-
.../disk-scsi-lun-passthrough.args | 9 +-
tests/qemuxml2argvdata/disk-scsi-megasas.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-mptsas1068.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-virtio-scsi.args | 10 +-
tests/qemuxml2argvdata/disk-scsi-vscsi.args | 10 +-
tests/qemuxml2argvdata/disk-serial.args | 9 +-
tests/qemuxml2argvdata/disk-snapshot.args | 9 +-
tests/qemuxml2argvdata/disk-source-pool-mode.args | 10 +-
tests/qemuxml2argvdata/disk-source-pool.args | 10 +-
.../disk-usb-device-removable.args | 10 +-
tests/qemuxml2argvdata/disk-usb-device.args | 10 +-
tests/qemuxml2argvdata/disk-virtio-ccw-many.args | 9 +-
tests/qemuxml2argvdata/disk-virtio-ccw.args | 9 +-
.../qemuxml2argvdata/disk-virtio-drive-queues.args | 9 +-
tests/qemuxml2argvdata/disk-virtio-s390.args | 9 +-
tests/qemuxml2argvdata/disk-virtio-scsi-ccw.args | 9 +-
.../disk-virtio-scsi-cmd_per_lun.args | 10 +-
.../disk-virtio-scsi-ioeventfd.args | 10 +-
.../disk-virtio-scsi-max_sectors.args | 10 +-
.../disk-virtio-scsi-num_queues.args | 10 +-
tests/qemuxml2argvdata/disk-virtio.args | 9 +-
tests/qemuxml2argvdata/encrypted-disk-usage.args | 9 +-
tests/qemuxml2argvdata/encrypted-disk.args | 9 +-
tests/qemuxml2argvdata/eoi-disabled.args | 9 +-
tests/qemuxml2argvdata/eoi-enabled.args | 9 +-
tests/qemuxml2argvdata/event_idx.args | 17 +-
.../fd-memory-no-numa-topology.args | 9 +-
.../qemuxml2argvdata/fd-memory-numa-topology.args | 9 +-
.../qemuxml2argvdata/fd-memory-numa-topology2.args | 9 +-
.../qemuxml2argvdata/fd-memory-numa-topology3.args | 9 +-
tests/qemuxml2argvdata/fips-enabled.args | 9 +-
tests/qemuxml2argvdata/floppy-drive-fat.args | 9 +-
tests/qemuxml2argvdata/fs9p-ccw.args | 10 +-
tests/qemuxml2argvdata/fs9p.args | 10 +-
.../qemuxml2argvdata/graphics-sdl-fullscreen.args | 7 +-
tests/qemuxml2argvdata/graphics-sdl.args | 7 +-
.../graphics-spice-agent-file-xfer.args | 7 +-
.../graphics-spice-agentmouse.args | 8 +-
.../graphics-spice-auto-socket-cfg.args | 7 +-
.../graphics-spice-auto-socket.args | 7 +-
.../graphics-spice-compression.args | 7 +-
tests/qemuxml2argvdata/graphics-spice-no-args.args | 7 +-
tests/qemuxml2argvdata/graphics-spice-qxl-vga.args | 7 +-
tests/qemuxml2argvdata/graphics-spice-sasl.args | 7 +-
tests/qemuxml2argvdata/graphics-spice-socket.args | 7 +-
tests/qemuxml2argvdata/graphics-spice-timeout.args | 14 +-
.../qemuxml2argvdata/graphics-spice-usb-redir.args | 8 +-
tests/qemuxml2argvdata/graphics-spice.args | 7 +-
.../graphics-vnc-auto-socket-cfg.args | 7 +-
.../qemuxml2argvdata/graphics-vnc-auto-socket.args | 7 +-
.../graphics-vnc-no-listen-attr.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-none.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-policy.args | 7 +-
.../graphics-vnc-remove-generated-socket.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-sasl.args | 7 +-
.../graphics-vnc-socket-new-cmdline.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-socket.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-tls.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc-websocket.args | 7 +-
tests/qemuxml2argvdata/graphics-vnc.args | 7 +-
.../qemuxml2argvdata/hostdev-mdev-precreated.args | 10 +-
.../hostdev-pci-address-device.args | 10 +-
tests/qemuxml2argvdata/hostdev-pci-address.args | 9 +-
.../hostdev-scsi-lsi-iscsi-auth.args | 9 +-
tests/qemuxml2argvdata/hostdev-scsi-lsi-iscsi.args | 9 +-
tests/qemuxml2argvdata/hostdev-scsi-lsi.args | 9 +-
tests/qemuxml2argvdata/hostdev-scsi-readonly.args | 9 +-
.../hostdev-scsi-vhost-scsi-ccw.args | 9 +-
.../hostdev-scsi-vhost-scsi-pci.args | 9 +-
.../hostdev-scsi-vhost-scsi-pcie.args | 9 +-
.../hostdev-scsi-virtio-iscsi-auth.args | 9 +-
.../hostdev-scsi-virtio-iscsi.args | 9 +-
.../qemuxml2argvdata/hostdev-scsi-virtio-scsi.args | 9 +-
.../hostdev-usb-address-device-boot.args | 10 +-
.../hostdev-usb-address-device.args | 10 +-
tests/qemuxml2argvdata/hostdev-usb-address.args | 9 +-
.../qemuxml2argvdata/hostdev-vfio-multidomain.args | 10 +-
tests/qemuxml2argvdata/hostdev-vfio.args | 10 +-
tests/qemuxml2argvdata/hotplug-base.args | 9 +-
tests/qemuxml2argvdata/hugepages-memaccess.args | 9 +-
tests/qemuxml2argvdata/hugepages-memaccess2.args | 9 +-
tests/qemuxml2argvdata/hugepages-numa.args | 6 +-
tests/qemuxml2argvdata/hugepages-pages.args | 9 +-
tests/qemuxml2argvdata/hugepages-pages2.args | 9 +-
tests/qemuxml2argvdata/hugepages-pages3.args | 9 +-
tests/qemuxml2argvdata/hugepages-pages5.args | 9 +-
tests/qemuxml2argvdata/hugepages-pages6.args | 9 +-
tests/qemuxml2argvdata/hugepages-pages7.args | 9 +-
tests/qemuxml2argvdata/hugepages-shared.args | 9 +-
tests/qemuxml2argvdata/hugepages.args | 9 +-
tests/qemuxml2argvdata/hyperv-off.args | 9 +-
tests/qemuxml2argvdata/hyperv-panic.args | 9 +-
tests/qemuxml2argvdata/hyperv.args | 9 +-
tests/qemuxml2argvdata/input-usbmouse-addr.args | 10 +-
tests/qemuxml2argvdata/input-usbmouse.args | 9 +-
tests/qemuxml2argvdata/input-usbtablet.args | 9 +-
tests/qemuxml2argvdata/input-virtio-ccw.args | 9 +-
.../qemuxml2argvdata/intel-iommu-caching-mode.args | 14 +-
.../qemuxml2argvdata/intel-iommu-device-iotlb.args | 9 +-
tests/qemuxml2argvdata/intel-iommu-eim.args | 9 +-
tests/qemuxml2argvdata/intel-iommu-machine.args | 9 +-
tests/qemuxml2argvdata/intel-iommu.args | 9 +-
.../iothreads-disk-virtio-ccw.args | 9 +-
tests/qemuxml2argvdata/iothreads-disk.args | 9 +-
tests/qemuxml2argvdata/iothreads-ids-partial.args | 9 +-
tests/qemuxml2argvdata/iothreads-ids.args | 9 +-
.../iothreads-virtio-scsi-ccw.args | 9 +-
.../iothreads-virtio-scsi-pci.args | 9 +-
tests/qemuxml2argvdata/iothreads.args | 9 +-
tests/qemuxml2argvdata/kvm-features-off.args | 9 +-
tests/qemuxml2argvdata/kvm-features.args | 9 +-
tests/qemuxml2argvdata/kvm-pit-delay.args | 9 +-
tests/qemuxml2argvdata/kvm-pit-discard.args | 9 +-
tests/qemuxml2argvdata/kvm.args | 9 +-
tests/qemuxml2argvdata/kvmclock+eoi-disabled.args | 9 +-
tests/qemuxml2argvdata/kvmclock.args | 9 +-
tests/qemuxml2argvdata/luks-disks-source.args | 9 +-
tests/qemuxml2argvdata/luks-disks.args | 9 +-
.../qemuxml2argvdata/mach-virt-console-virtio.args | 10 +-
.../qemuxml2argvdata/mach-virt-serial-native.args | 10 +-
tests/qemuxml2argvdata/mach-virt-serial-pci.args | 10 +-
tests/qemuxml2argvdata/mach-virt-serial-usb.args | 10 +-
.../machine-aeskeywrap-off-cap.args | 10 +-
.../machine-aeskeywrap-off-caps.args | 10 +-
.../machine-aeskeywrap-on-cap.args | 9 +-
.../machine-aeskeywrap-on-caps.args | 9 +-
tests/qemuxml2argvdata/machine-aliases1.args | 9 +-
tests/qemuxml2argvdata/machine-aliases2.args | 9 +-
tests/qemuxml2argvdata/machine-core-cfg-off.args | 9 +-
tests/qemuxml2argvdata/machine-core-off.args | 9 +-
tests/qemuxml2argvdata/machine-core-on.args | 9 +-
.../machine-deakeywrap-off-cap.args | 10 +-
.../machine-deakeywrap-off-caps.args | 10 +-
.../machine-deakeywrap-on-cap.args | 9 +-
.../machine-deakeywrap-on-caps.args | 9 +-
.../machine-keywrap-none-caps.args | 9 +-
tests/qemuxml2argvdata/machine-keywrap-none.args | 9 +-
.../machine-loadparm-multiple-disks-nets-s390.args | 21 +-
.../machine-loadparm-net-s390.args | 15 +-
tests/qemuxml2argvdata/machine-loadparm-s390.args | 9 +-
tests/qemuxml2argvdata/machine-smm-opt.args | 9 +-
tests/qemuxml2argvdata/machine-usb-opt.args | 9 +-
tests/qemuxml2argvdata/machine-vmport-opt.args | 9 +-
tests/qemuxml2argvdata/master-key.args | 9 +-
.../qemuxml2argvdata/memory-hotplug-dimm-addr.args | 9 +-
tests/qemuxml2argvdata/memory-hotplug-dimm.args | 9 +-
.../memory-hotplug-nvdimm-access.args | 9 +-
.../memory-hotplug-nvdimm-label.args | 9 +-
tests/qemuxml2argvdata/memory-hotplug-nvdimm.args | 9 +-
.../memory-hotplug-ppc64-nonuma.args | 9 +-
tests/qemuxml2argvdata/memory-hotplug.args | 9 +-
tests/qemuxml2argvdata/memtune-unlimited.args | 9 +-
tests/qemuxml2argvdata/memtune.args | 9 +-
tests/qemuxml2argvdata/migrate-numa-unaligned.args | 9 +-
tests/qemuxml2argvdata/migrate.args | 9 +-
tests/qemuxml2argvdata/minimal-msg-timestamp.args | 9 +-
tests/qemuxml2argvdata/minimal.args | 9 +-
tests/qemuxml2argvdata/misc-acpi.args | 9 +-
tests/qemuxml2argvdata/misc-disable-s3.args | 9 +-
tests/qemuxml2argvdata/misc-disable-suspends.args | 9 +-
tests/qemuxml2argvdata/misc-enable-s4.args | 9 +-
tests/qemuxml2argvdata/misc-no-reboot.args | 8 +-
tests/qemuxml2argvdata/misc-uuid.args | 9 +-
tests/qemuxml2argvdata/mlock-off.args | 9 +-
tests/qemuxml2argvdata/mlock-on.args | 9 +-
tests/qemuxml2argvdata/mlock-unsupported.args | 9 +-
tests/qemuxml2argvdata/monitor-json.args | 8 +-
.../qemuxml2argvdata/multifunction-pci-device.args | 10 +-
tests/qemuxml2argvdata/name-escape.args | 7 +-
tests/qemuxml2argvdata/net-client.args | 14 +-
tests/qemuxml2argvdata/net-eth-hostip.args | 14 +-
tests/qemuxml2argvdata/net-eth-ifname.args | 14 +-
tests/qemuxml2argvdata/net-eth-names.args | 18 +-
tests/qemuxml2argvdata/net-eth.args | 14 +-
.../qemuxml2argvdata/net-hostdev-multidomain.args | 10 +-
.../net-hostdev-vfio-multidomain.args | 10 +-
tests/qemuxml2argvdata/net-hostdev-vfio.args | 10 +-
tests/qemuxml2argvdata/net-hostdev.args | 10 +-
tests/qemuxml2argvdata/net-mcast.args | 14 +-
tests/qemuxml2argvdata/net-server.args | 14 +-
tests/qemuxml2argvdata/net-udp.args | 15 +-
tests/qemuxml2argvdata/net-user-addr.args | 9 +-
tests/qemuxml2argvdata/net-user.args | 14 +-
tests/qemuxml2argvdata/net-vhostuser-multiq.args | 9 +-
tests/qemuxml2argvdata/net-vhostuser.args | 9 +-
tests/qemuxml2argvdata/net-virtio-ccw.args | 19 +-
tests/qemuxml2argvdata/net-virtio-device.args | 16 +-
.../net-virtio-disable-offloads.args | 14 +-
tests/qemuxml2argvdata/net-virtio-netdev.args | 10 +-
.../qemuxml2argvdata/net-virtio-rxtxqueuesize.args | 15 +-
tests/qemuxml2argvdata/net-virtio-s390.args | 13 +-
tests/qemuxml2argvdata/net-virtio.args | 14 +-
tests/qemuxml2argvdata/no-kvm-pit-device.args | 9 +-
tests/qemuxml2argvdata/no-shutdown.args | 7 +-
tests/qemuxml2argvdata/nographics-display.args | 7 +-
tests/qemuxml2argvdata/nographics-vga.args | 9 +-
tests/qemuxml2argvdata/nographics.args | 9 +-
tests/qemuxml2argvdata/nosharepages.args | 9 +-
.../numad-auto-memory-vcpu-cpuset.args | 9 +-
...d-auto-memory-vcpu-no-cpuset-and-placement.args | 9 +-
.../numad-auto-vcpu-static-numatune.args | 9 +-
.../numad-static-memory-auto-vcpu.args | 9 +-
tests/qemuxml2argvdata/numad.args | 9 +-
.../numatune-auto-nodeset-invalid.args | 9 +-
tests/qemuxml2argvdata/numatune-auto-prefer.args | 9 +-
tests/qemuxml2argvdata/numatune-distances.args | 9 +-
.../numatune-memnode-no-memory.args | 9 +-
tests/qemuxml2argvdata/numatune-memnode.args | 9 +-
tests/qemuxml2argvdata/numatune-memory.args | 9 +-
tests/qemuxml2argvdata/panic-double.args | 10 +-
tests/qemuxml2argvdata/panic-no-address.args | 10 +-
tests/qemuxml2argvdata/panic.args | 10 +-
.../qemuxml2argvdata/parallel-parport-chardev.args | 10 +-
tests/qemuxml2argvdata/parallel-tcp-chardev.args | 10 +-
tests/qemuxml2argvdata/pci-autoadd-addr.args | 9 +-
tests/qemuxml2argvdata/pci-autoadd-idx.args | 9 +-
tests/qemuxml2argvdata/pci-autofill-addr.args | 9 +-
tests/qemuxml2argvdata/pci-bridge-many-disks.args | 9 +-
tests/qemuxml2argvdata/pci-bridge.args | 158 +-
tests/qemuxml2argvdata/pci-expander-bus.args | 160 +-
tests/qemuxml2argvdata/pci-many.args | 9 +-
tests/qemuxml2argvdata/pci-rom.args | 22 +-
tests/qemuxml2argvdata/pci-serial-dev-chardev.args | 10 +-
tests/qemuxml2argvdata/pcie-expander-bus.args | 164 +-
.../pcie-root-port-model-generic.args | 9 +-
.../pcie-root-port-model-ioh3420.args | 9 +-
tests/qemuxml2argvdata/pcie-root-port.args | 9 +-
tests/qemuxml2argvdata/pcie-root.args | 9 +-
.../pcie-switch-downstream-port.args | 9 +-
.../pcie-switch-upstream-port.args | 9 +-
tests/qemuxml2argvdata/pcihole64-q35.args | 9 +-
tests/qemuxml2argvdata/pcihole64.args | 9 +-
tests/qemuxml2argvdata/pmu-feature-off.args | 9 +-
tests/qemuxml2argvdata/pmu-feature.args | 9 +-
tests/qemuxml2argvdata/ppc-dtb.args | 9 +-
.../ppc64-usb-controller-legacy.args | 9 +-
.../ppc64-usb-controller-qemu-xhci.args | 9 +-
tests/qemuxml2argvdata/ppc64-usb-controller.args | 9 +-
tests/qemuxml2argvdata/ppce500-serial.args | 9 +-
tests/qemuxml2argvdata/pseries-basic.args | 10 +-
tests/qemuxml2argvdata/pseries-console-virtio.args | 10 +-
.../pseries-cpu-compat-power9.args | 10 +-
tests/qemuxml2argvdata/pseries-cpu-compat.args | 10 +-
tests/qemuxml2argvdata/pseries-cpu-exact.args | 10 +-
tests/qemuxml2argvdata/pseries-cpu-le.args | 10 +-
tests/qemuxml2argvdata/pseries-features.args | 9 +-
tests/qemuxml2argvdata/pseries-hostdevs-1.args | 10 +-
tests/qemuxml2argvdata/pseries-hostdevs-2.args | 10 +-
tests/qemuxml2argvdata/pseries-hostdevs-3.args | 10 +-
.../pseries-machine-max-cpu-compat.args | 10 +-
tests/qemuxml2argvdata/pseries-many-buses-1.args | 10 +-
tests/qemuxml2argvdata/pseries-many-buses-2.args | 10 +-
tests/qemuxml2argvdata/pseries-many-devices.args | 10 +-
tests/qemuxml2argvdata/pseries-nvram.args | 9 +-
tests/qemuxml2argvdata/pseries-panic-missing.args | 10 +-
.../qemuxml2argvdata/pseries-panic-no-address.args | 10 +-
.../pseries-phb-default-missing.args | 10 +-
tests/qemuxml2argvdata/pseries-phb-numa-node.args | 9 +-
tests/qemuxml2argvdata/pseries-phb-simple.args | 10 +-
tests/qemuxml2argvdata/pseries-serial-native.args | 10 +-
tests/qemuxml2argvdata/pseries-serial-pci.args | 10 +-
tests/qemuxml2argvdata/pseries-serial-usb.args | 10 +-
tests/qemuxml2argvdata/pseries-usb-default.args | 10 +-
tests/qemuxml2argvdata/pseries-usb-kbd.args | 10 +-
tests/qemuxml2argvdata/pseries-usb-multi.args | 10 +-
.../pseries-vio-user-assigned.args | 10 +-
tests/qemuxml2argvdata/pseries-vio.args | 10 +-
tests/qemuxml2argvdata/pv-spinlock-disabled.args | 9 +-
tests/qemuxml2argvdata/pv-spinlock-enabled.args | 9 +-
tests/qemuxml2argvdata/q35-acpi-nouefi.args | 9 +-
tests/qemuxml2argvdata/q35-acpi-uefi.args | 9 +-
.../qemuxml2argvdata/q35-default-devices-only.args | 9 +-
tests/qemuxml2argvdata/q35-multifunction.args | 9 +-
tests/qemuxml2argvdata/q35-noacpi-nouefi.args | 9 +-
tests/qemuxml2argvdata/q35-pci-force-address.args | 14 +-
tests/qemuxml2argvdata/q35-pcie-autoadd.args | 9 +-
tests/qemuxml2argvdata/q35-pcie.args | 9 +-
.../qemuxml2argvdata/q35-pm-disable-fallback.args | 9 +-
tests/qemuxml2argvdata/q35-pm-disable.args | 9 +-
tests/qemuxml2argvdata/q35-usb2-multi.args | 9 +-
tests/qemuxml2argvdata/q35-usb2-reorder.args | 9 +-
tests/qemuxml2argvdata/q35-usb2.args | 9 +-
tests/qemuxml2argvdata/q35-virt-manager-basic.args | 6 +-
tests/qemuxml2argvdata/q35-virtio-pci.args | 9 +-
tests/qemuxml2argvdata/q35.args | 9 +-
tests/qemuxml2argvdata/qemu-ns-alt.args | 9 +-
.../qemuxml2argvdata/qemu-ns-commandline-ns0.args | 9 +-
.../qemuxml2argvdata/qemu-ns-commandline-ns1.args | 9 +-
tests/qemuxml2argvdata/qemu-ns-commandline.args | 9 +-
.../qemu-ns-domain-commandline-ns0.args | 9 +-
.../qemu-ns-domain-commandline.args | 9 +-
tests/qemuxml2argvdata/qemu-ns-domain-ns0.args | 9 +-
tests/qemuxml2argvdata/qemu-ns-no-env.args | 9 +-
tests/qemuxml2argvdata/qemu-ns.args | 9 +-
.../qemuxml2argvdata/reboot-timeout-disabled.args | 9 +-
tests/qemuxml2argvdata/reboot-timeout-enabled.args | 9 +-
tests/qemuxml2argvdata/restore-v2-fd.args | 9 +-
tests/qemuxml2argvdata/restore-v2.args | 9 +-
.../s390-allow-bogus-usb-controller.args | 10 +-
.../s390-allow-bogus-usb-none.args | 10 +-
tests/qemuxml2argvdata/s390-panic-missing.args | 10 +-
tests/qemuxml2argvdata/s390-panic-no-address.args | 10 +-
tests/qemuxml2argvdata/s390-serial-2.args | 10 +-
tests/qemuxml2argvdata/s390-serial-console.args | 10 +-
tests/qemuxml2argvdata/s390-serial.args | 10 +-
tests/qemuxml2argvdata/seclabel-dac-none.args | 9 +-
.../seclabel-dynamic-baselabel.args | 9 +-
.../seclabel-dynamic-labelskip.args | 9 +-
.../seclabel-dynamic-override.args | 9 +-
.../qemuxml2argvdata/seclabel-dynamic-relabel.args | 9 +-
tests/qemuxml2argvdata/seclabel-dynamic.args | 9 +-
tests/qemuxml2argvdata/seclabel-none.args | 9 +-
.../seclabel-static-labelskip.args | 9 +-
.../qemuxml2argvdata/seclabel-static-relabel.args | 9 +-
tests/qemuxml2argvdata/seclabel-static.args | 9 +-
.../serial-dev-chardev-iobase.args | 10 +-
tests/qemuxml2argvdata/serial-dev-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-file-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-file-log.args | 9 +-
tests/qemuxml2argvdata/serial-many-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-pty-chardev.args | 10 +-
.../qemuxml2argvdata/serial-spiceport-nospice.args | 9 +-
tests/qemuxml2argvdata/serial-spiceport.args | 8 +-
tests/qemuxml2argvdata/serial-tcp-chardev.args | 10 +-
.../serial-tcp-telnet-chardev.args | 10 +-
.../serial-tcp-tlsx509-chardev-notls.args | 10 +-
.../serial-tcp-tlsx509-chardev-verify.args | 10 +-
.../serial-tcp-tlsx509-chardev.args | 10 +-
.../serial-tcp-tlsx509-secret-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-udp-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-unix-chardev.args | 10 +-
tests/qemuxml2argvdata/serial-vc-chardev.args | 10 +-
tests/qemuxml2argvdata/shmem-plain-doorbell.args | 9 +-
tests/qemuxml2argvdata/shmem.args | 9 +-
tests/qemuxml2argvdata/smartcard-controller.args | 10 +-
.../smartcard-host-certificates.args | 10 +-
tests/qemuxml2argvdata/smartcard-host.args | 10 +-
.../smartcard-passthrough-spicevmc.args | 10 +-
.../smartcard-passthrough-tcp.args | 10 +-
tests/qemuxml2argvdata/smbios.args | 9 +-
tests/qemuxml2argvdata/smp.args | 9 +-
tests/qemuxml2argvdata/sound-device.args | 10 +-
tests/qemuxml2argvdata/sound.args | 9 +-
tests/qemuxml2argvdata/tpm-passthrough.args | 11 +-
.../usb-controller-default-q35.args | 9 +-
.../usb-controller-explicit-q35.args | 9 +-
.../qemuxml2argvdata/usb-controller-qemu-xhci.args | 9 +-
tests/qemuxml2argvdata/usb-controller-xhci.args | 10 +-
tests/qemuxml2argvdata/usb-controller.args | 10 +-
tests/qemuxml2argvdata/usb-hub-autoadd-deluxe.args | 10 +-
tests/qemuxml2argvdata/usb-hub-autoadd.args | 10 +-
tests/qemuxml2argvdata/usb-hub.args | 10 +-
tests/qemuxml2argvdata/usb-ich9-autoassign.args | 10 +-
tests/qemuxml2argvdata/usb-ich9-companion.args | 10 +-
tests/qemuxml2argvdata/usb-ich9-ehci-addr.args | 10 +-
tests/qemuxml2argvdata/usb-long-port-path.args | 10 +-
tests/qemuxml2argvdata/usb-none.args | 10 +-
tests/qemuxml2argvdata/usb-piix3-controller.args | 10 +-
tests/qemuxml2argvdata/usb-port-autoassign.args | 10 +-
tests/qemuxml2argvdata/usb-port-missing.args | 10 +-
tests/qemuxml2argvdata/usb-ports.args | 10 +-
tests/qemuxml2argvdata/usb-redir-boot.args | 10 +-
.../qemuxml2argvdata/usb-redir-filter-version.args | 10 +-
tests/qemuxml2argvdata/usb-redir-filter.args | 10 +-
tests/qemuxml2argvdata/usb-redir.args | 10 +-
tests/qemuxml2argvdata/usb-xhci-autoassign.args | 10 +-
tests/qemuxml2argvdata/usb1-usb2.args | 10 +-
tests/qemuxml2argvdata/user-aliases-usb.args | 9 +-
tests/qemuxml2argvdata/user-aliases.args | 25 +-
tests/qemuxml2argvdata/vcpu-placement-static.args | 9 +-
.../video-device-pciaddr-default.args | 7 +-
.../qemuxml2argvdata/video-qxl-device-vgamem.args | 9 +-
tests/qemuxml2argvdata/video-qxl-device.args | 9 +-
tests/qemuxml2argvdata/video-qxl-heads.args | 9 +-
tests/qemuxml2argvdata/video-qxl-nodevice.args | 9 +-
tests/qemuxml2argvdata/video-qxl-noheads.args | 9 +-
.../video-qxl-sec-device-vgamem.args | 9 +-
tests/qemuxml2argvdata/video-qxl-sec-device.args | 9 +-
.../qemuxml2argvdata/video-vga-device-vgamem.args | 9 +-
tests/qemuxml2argvdata/video-vga-device.args | 9 +-
tests/qemuxml2argvdata/video-vga-nodevice.args | 9 +-
tests/qemuxml2argvdata/video-vga-qxl-heads.args | 9 +-
tests/qemuxml2argvdata/video-virtio-gpu-ccw.args | 7 +-
.../qemuxml2argvdata/video-virtio-gpu-device.args | 9 +-
.../video-virtio-gpu-secondary.args | 9 +-
.../video-virtio-gpu-spice-gl.args | 7 +-
tests/qemuxml2argvdata/video-virtio-gpu-virgl.args | 9 +-
tests/qemuxml2argvdata/video-virtio-vga.args | 9 +-
.../qemuxml2argvdata/virtio-input-passthrough.args | 9 +-
tests/qemuxml2argvdata/virtio-input.args | 9 +-
tests/qemuxml2argvdata/virtio-lun.args | 16 +-
tests/qemuxml2argvdata/virtio-options.args | 15 +-
tests/qemuxml2argvdata/virtio-rng-ccw.args | 10 +-
tests/qemuxml2argvdata/virtio-rng-default.args | 9 +-
tests/qemuxml2argvdata/virtio-rng-egd.args | 9 +-
tests/qemuxml2argvdata/virtio-rng-multiple.args | 9 +-
tests/qemuxml2argvdata/virtio-rng-random.args | 9 +-
tests/qemuxml2argvdata/vmcoreinfo.args | 9 +-
tests/qemuxml2argvdata/watchdog-device.args | 10 +-
tests/qemuxml2argvdata/watchdog-diag288.args | 10 +-
tests/qemuxml2argvdata/watchdog-dump.args | 9 +-
tests/qemuxml2argvdata/watchdog-injectnmi.args | 9 +-
tests/qemuxml2argvdata/watchdog.args | 9 +-
tests/qemuxml2argvdata/x86-kvm-32-on-64.args | 9 +-
tests/qemuxml2argvtest.c | 744 +++-----
tests/qemuxml2xmltest.c | 119 +-
667 files changed, 4571 insertions(+), 10320 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/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
7 years
[libvirt] [RFC PATCH 0/2] qemu: deny privilege elevation and spawn in seccomp
by Ján Tomko
QEMU changed the behavior of -sandbox on since 2.11 and it no longer
whitelists all the possible calls.
Override the meaning of seccomp_sandbox = 1 in qemu.conf
to block the privilege elevation set and spawn set on top of the
default.
Do the same by default even if no option is specified, hoping
that this should be enough for everybody (TM)
Sending as RFC to ask whether:
* this is a sensible default
* a coarse setting like this is enough
or it makes sense to expose the individual sets in qemu.conf
(in that case - can I reasonably promote an int setting to a list of strings?)
Ján Tomko (2):
Introduce QEMU_CAPS_SECCOMP_BLACKLIST
qemu: deny privilege elevation and spawn in seccomp
src/qemu/qemu_capabilities.c | 2 ++
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 10 +++++--
tests/qemucapabilitiesdata/caps_2.11.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.aarch64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.s390x.xml | 1 +
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1 +
tests/qemuxml2argvdata/minimal-sandbox.args | 25 ++++++++++++++++
tests/qemuxml2argvdata/minimal-sandbox.xml | 34 ++++++++++++++++++++++
tests/qemuxml2argvtest.c | 3 ++
11 files changed, 78 insertions(+), 2 deletions(-)
create mode 100644 tests/qemuxml2argvdata/minimal-sandbox.args
create mode 100644 tests/qemuxml2argvdata/minimal-sandbox.xml
--
2.13.6
7 years
[libvirt] [PATCH 00/20] Fix virConnect(Un)RegisterCloseCallback and get rid of global variables
by Marc Hartmayer
The first part of this patch series fixes the behavior of
virConnectSupportsFeatures, virConnect(Un)RegisterCloseCallback, and
implements these features in the test driver. This results in a better
code coverage of our test suite.
The subsequent patches remove the need to have the global variables
'qemuProgram', 'adminProgram', 'lxcProgram, and 'remoteProgram' in
remote_daemon.[ch]. They only work in combination with the fixed
behavior of virConnectSupportsFeatures and
virConnect(Un)RegisterCloseCallback.
Marc Hartmayer (20):
driver: Add typedef for the anonymous enum used for driver features
remote: Don't hard code the feature
VIR_DRV_FEATURE_REMOTE_CLOSE_CALLBACK as available
virConnect(Un)RegisterCloseCallback: Throw an error in case the API is
not supported
test: Implement virConnectSupportsFeature
test: Implement virConnect(Un)RegisterCloseCallback
test: testOpenDefault: introduce cleanup path
test: testOpenFromFile: return VIR_DRV_OPEN_SUCCESS in case of success
test: testConnectAuthenticate: Take the lock when accessing mutable
values
test: testConnectClose: Set privateData to NULL in all cases
test: rename defaultConn to defaultPrivconn
test: introduce testDriverCloseInternal
test: fix error path in testConnectOpen
test: Convert testDriver to virObjectLockable
remote: remove unneeded global variables
stream: Access stream->prog instead of a hard-coded global variable
remote: Set eventID explicitly to an invalid value
remote: Add the information which program has to be used to
daemonClientEventCallback
remote: Use domainClientEventCallbacks for
remoteReplayConnectionClosedEvent
rpc: Introduce virNetServerGetProgramLocked helper function
remote/rpc: Use virNetServerGetProgram() to determine the program
src/esx/esx_driver.c | 18 +-
src/libvirt-host.c | 24 +--
src/libvirt_internal.h | 4 +-
src/libvirt_remote.syms | 1 +
src/libxl/libxl_driver.c | 13 +-
src/lxc/lxc_driver.c | 24 ++-
src/openvz/openvz_driver.c | 15 +-
src/qemu/qemu_driver.c | 8 +-
src/remote/remote_daemon.c | 8 +-
src/remote/remote_daemon.h | 3 -
src/remote/remote_daemon_dispatch.c | 182 +++++++++++--------
src/remote/remote_daemon_stream.c | 14 +-
src/rpc/gendispatch.pl | 2 +
src/rpc/virnetserver.c | 54 +++++-
src/rpc/virnetserver.h | 2 +
src/test/test_driver.c | 339 ++++++++++++++++++++++--------------
src/vz/vz_driver.c | 15 +-
src/xen/xen_driver.c | 15 +-
tools/virsh.c | 11 +-
19 files changed, 504 insertions(+), 248 deletions(-)
--
2.13.4
7 years
[libvirt] [PATCH 0/2] libxl: drop support for Xen 4.4 and 4.5
by Jim Fehlig
Bla bla bla...
Jim Fehlig (2):
libxl: drop support for Xen < 4.6
news: announce dropping support for Xen 4.4 and 4.5
docs/drvxen.html.in | 11 +++++------
docs/news.xml | 9 +++++++++
m4/virt-driver-libxl.m4 | 23 ++---------------------
3 files changed, 16 insertions(+), 27 deletions(-)
--
2.16.2
7 years