[libvirt] [PATCHv3 00/27] Driver XML conf adjustment callbacks [READ FIRST]

Peter Krempa pkrempa at redhat.com
Mon Mar 11 15:06:11 UTC 2013


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




More information about the libvir-list mailing list