This series implements the driver XML parsing callbacks as
Dan suggested.
This series may appear to be monstrous but I chose to split some patches
to separate ones although the code does not compile afterwards to ease review.
!! READ THIS: !!
!! The patches starting with the word "fix" will need to be squashed into the
!! non "fix" patches predceeding them otherwise it will not compile cleanly.
This new version fixes the review comments by Dan, Michal and Laine.
There's still outstanding work to do to get rid of all the irrelevant data
from virCaps, but I'd like to stabilize the design before doing so.
In this series the callback now supports passing opaque data to the callback
functions and it's demonstrated in "virCaps: get rid of
defaultDiskDriverName".
There's also a patch demonstrating doing check that is not covered by the XML
schema and thus shouldn't be part of the parser, but is docummented for all
drivers and thus should be enforced. This demonstrates the use of the verification
function.
Peter Krempa (27):
virCaps: conf: start splitting out irrelevat data
fix fallout in src/conf/
fix fallout in src/esx
fix fallout in src/lxc
fix fallout in src/openvz
fix fallout in src/parallels
fix fallout in phyp driver
fix fallout in src/qemu/
fix fallout in tests/
fix fallout in src/xen
fix fallout in src/vmware
fix fallout in src/uml
fix fallout in test driver
fix fallout in vbox driver
fix fallout in aahelper code
fix fallout in src/libxl
fix fallout in src/xenapi
fix fallout in selinux test
conf: Add separate defaults addition and validation for XML parsing
fix fallout from adding new parameter to internal APIs
conf: Add argument to support use of the driver adjust callbacks
qemu: Record the default NIC model in the domain XML
fix fallout of the change of the network device default
virCaps: get rid of "defaultInitPath" value in the virCaps struct
virCaps: get rid of defaultDiskDriverName
virCaps: get rid of emulatorRequired
conf: Enforce ranges on cputune variables
src/Makefile.am | 1 +
src/conf/capabilities.c | 10 -
src/conf/capabilities.h | 17 +-
src/conf/domain_conf.c | 387 +++++++++++++++++----
src/conf/domain_conf.h | 71 +++-
src/conf/snapshot_conf.c | 3 +-
src/conf/snapshot_conf.h | 1 +
src/esx/esx_driver.c | 14 +-
src/esx/esx_private.h | 2 +
src/libvirt_private.syms | 5 +-
src/libxl/libxl_conf.h | 1 +
src/libxl/libxl_driver.c | 57 +--
src/lxc/lxc_conf.c | 13 +-
src/lxc/lxc_conf.h | 2 +
src/lxc/lxc_controller.c | 7 +-
src/lxc/lxc_domain.c | 26 +-
src/lxc/lxc_domain.h | 3 +-
src/lxc/lxc_driver.c | 49 +--
src/lxc/lxc_process.c | 9 +-
src/openvz/openvz_conf.c | 5 +-
src/openvz/openvz_conf.h | 1 +
src/openvz/openvz_driver.c | 45 ++-
src/parallels/parallels_driver.c | 12 +-
src/parallels/parallels_utils.h | 1 +
src/phyp/phyp_driver.c | 12 +-
src/phyp/phyp_driver.h | 1 +
src/qemu/qemu_capabilities.c | 3 -
src/qemu/qemu_command.c | 9 +-
src/qemu/qemu_command.h | 3 +
src/qemu/qemu_conf.c | 14 +-
src/qemu/qemu_conf.h | 5 +
src/qemu/qemu_domain.c | 108 ++++--
src/qemu/qemu_domain.h | 7 +-
src/qemu/qemu_driver.c | 134 ++++---
src/qemu/qemu_migration.c | 22 +-
src/qemu/qemu_process.c | 109 +-----
src/security/virt-aa-helper.c | 10 +-
src/test/test_driver.c | 61 +++-
src/uml/uml_conf.h | 1 +
src/uml/uml_driver.c | 32 +-
src/vbox/vbox_tmpl.c | 27 +-
src/vmware/vmware_conf.c | 3 +-
src/vmware/vmware_conf.h | 1 +
src/vmware/vmware_driver.c | 25 +-
src/xen/xen_driver.c | 8 +-
src/xen/xen_driver.h | 1 +
src/xen/xend_internal.c | 14 +-
src/xen/xm_internal.c | 4 +-
src/xenapi/xenapi_driver.c | 34 +-
src/xenapi/xenapi_driver_private.h | 1 +
tests/domainsnapshotxml2xmltest.c | 5 +
tests/lxcxml2xmldata/lxc-hostdev.xml | 1 +
tests/lxcxml2xmldata/lxc-systemd.xml | 1 +
tests/lxcxml2xmltest.c | 7 +-
tests/qemuargv2xmltest.c | 8 +-
tests/qemumonitorjsontest.c | 29 +-
tests/qemumonitortestutils.c | 4 +-
tests/qemumonitortestutils.h | 5 +-
.../qemuxml2argv-net-bandwidth.xml | 1 +
.../qemuxml2argvdata/qemuxml2argv-net-client.args | 4 +-
.../qemuxml2argv-net-eth-ifname.args | 4 +-
.../qemuxml2argv-net-eth-ifname.xml | 1 +
.../qemuxml2argv-net-eth-names.args | 8 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.args | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml | 1 +
.../qemuxml2argvdata/qemuxml2argv-net-hostdev.xml | 1 +
tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args | 4 +-
.../qemuxml2argv-net-openvswitch.xml | 1 +
.../qemuxml2argvdata/qemuxml2argv-net-server.args | 4 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.args | 3 +-
tests/qemuxml2argvdata/qemuxml2argv-net-user.xml | 1 +
.../qemuxml2argv-net-virtio-network-portgroup.xml | 2 +
tests/qemuxml2argvtest.c | 5 +-
.../qemuxml2xmlout-graphics-spice-timeout.xml | 1 +
tests/qemuxml2xmltest.c | 6 +-
tests/qemuxmlnstest.c | 5 +-
tests/securityselinuxlabeltest.c | 6 +-
tests/testutilsqemu.c | 3 +-
tests/testutilsqemu.h | 2 +
tests/testutilsxen.c | 6 +
tests/testutilsxen.h | 2 +
tests/xmconfigtest.c | 8 +-
tests/xml2sexprtest.c | 8 +-
tests/xml2vmxtest.c | 8 +-
84 files changed, 1034 insertions(+), 516 deletions(-)
--
1.8.1.5