[libvirt] [PATCH v2 00/11] Add schema validation for domain XML

Daniel P. Berrange berrange at redhat.com
Thu Jan 8 15:48:11 UTC 2015


A followup to

  https://www.redhat.com/archives/libvir-list/2014-November/msg00607.html

In this posting

 - Finished virsh integration for define, create & edit commands
 - Support validation in all virt drivers
 - Fix misc bugs in changes to domain_conf flag handling

The situation with libxml error reporting isn't as bad as I
thought. The bad errors mostly just appear when you've added
an unknown XML element. If you add unknown XML attributes
or attribute values the errors reporting are quite reasonable.

Daniel P. Berrange (11):
  Add new virDomainDefineXMLFlags public API
  Add stub virDomainDefineXMLFlags impls
  Add virXMLValidateAgainstSchema helper method
  Don't use VIR_DOMAIN_XML_SECURE when parsing XML
  Don't pass VIR_DOMAIN_XML_SECURE to virDomainDefParseString in phyp
  Fix flags passed to virDomainDefParseString by XenAPI driver
  parallels: don't override error message when XML parsing fails
  Decouple CPU XML formatting from domain XML public API flags
  Give virDomainDef parser & formatter their own flags
  Add support for schema validation when passing in XML
  virsh: enable domain XML validation by default

 include/libvirt/libvirt-domain.h  |   9 ++
 include/libvirt/virterror.h       |   1 +
 src/bhyve/bhyve_driver.c          |  31 +++-
 src/conf/capabilities.c           |   2 +-
 src/conf/cpu_conf.c               |  14 +-
 src/conf/cpu_conf.h               |   6 +-
 src/conf/domain_conf.c            | 297 +++++++++++++++++++-------------------
 src/conf/domain_conf.h            |  34 +++++
 src/conf/snapshot_conf.c          |   9 +-
 src/cpu/cpu.c                     |   2 +-
 src/driver-hypervisor.h           |   5 +
 src/esx/esx_driver.c              |  27 +++-
 src/hyperv/hyperv_driver.c        |   3 +-
 src/internal.h                    |   4 +
 src/libvirt-domain.c              |  48 ++++++
 src/libvirt_private.syms          |   2 +
 src/libvirt_public.syms           |   5 +
 src/libxl/libxl_domain.c          |   2 +-
 src/libxl/libxl_driver.c          |  46 ++++--
 src/libxl/libxl_migration.c       |   6 +-
 src/lxc/lxc_driver.c              |  37 +++--
 src/openvz/openvz_driver.c        |  33 ++++-
 src/parallels/parallels_driver.c  |  20 ++-
 src/phyp/phyp_driver.c            |  13 +-
 src/qemu/qemu_domain.c            |   9 +-
 src/qemu/qemu_driver.c            |  48 ++++--
 src/qemu/qemu_migration.c         |   8 +-
 src/remote/remote_driver.c        |   1 +
 src/remote/remote_protocol.x      |  19 ++-
 src/remote_protocol-structs       |   8 +
 src/security/security_apparmor.c  |   2 +-
 src/security/virt-aa-helper.c     |   3 +-
 src/test/test_driver.c            |  41 ++++--
 src/uml/uml_driver.c              |  34 ++++-
 src/util/virerror.c               |   6 +
 src/util/virxml.c                 |  74 ++++++++++
 src/util/virxml.h                 |   5 +
 src/vbox/vbox_common.c            |  29 +++-
 src/vmware/vmware_driver.c        |  29 +++-
 src/xen/xen_driver.c              |  31 +++-
 src/xen/xend_internal.c           |   6 +-
 src/xen/xm_internal.c             |   4 +-
 src/xenapi/xenapi_driver.c        |  26 +++-
 tests/bhyvexml2argvtest.c         |   2 +-
 tests/bhyvexml2xmltest.c          |   4 +-
 tests/cpuset                      |   2 +-
 tests/cputest.c                   |  11 +-
 tests/domainsnapshotxml2xmltest.c |   2 +-
 tests/lxcxml2xmltest.c            |   4 +-
 tests/openvzutilstest.c           |   2 +-
 tests/qemuagenttest.c             |   2 +-
 tests/qemuhotplugtest.c           |   6 +-
 tests/qemuxml2argvtest.c          |   2 +-
 tests/qemuxml2xmltest.c           |   9 +-
 tests/qemuxmlnstest.c             |   2 +-
 tests/vmx2xmltest.c               |   2 +-
 tests/xlconfigtest.c              |   7 +-
 tests/xmconfigtest.c              |   4 +-
 tests/xml2sexprtest.c             |   2 +-
 tests/xml2vmxtest.c               |   2 +-
 tools/virsh-domain.c              |  87 +++++++++--
 61 files changed, 851 insertions(+), 340 deletions(-)

-- 
2.1.0




More information about the libvir-list mailing list