libvirt/tests
Peter Krempa 43b99fc4c0 conf: Add post XML parse callbacks and prepare for cleaning of virCaps
This patch adds instrumentation that will allow hypervisor drivers to
fill and validate domain and device definitions after parsed by the XML
parser.

With this patch, after the XML is parsed, a callback to the driver is
issued requesting to fill and validate driver specific details of the
configuration. This allows to use sensible defaults and checks on a per
driver basis at the time the XML is parsed.

Two callback pointers are stored in the new virDomainXMLConf object:
* virDomainDeviceDefPostParseCallback (devicesPostParseCallback)
  - called for a single device parsed and for every single device in a
    domain config. A virDomainDeviceDefPtr is passed along with the
    domain definition and virCaps.

* virDomainDefPostParseCallback, (domainPostParseCallback)
  - A callback that is meant to process the domain config after it's
  parsed.  A virDomainDefPtr is passed along with virCaps.

Both types of callbacks support arbitrary opaque data passed for the
callback functions.

Errors may be reported in those callbacks resulting in a XML parsing
failure.
2013-04-04 22:29:48 +02:00
..
capabilityschemadata capabilities: add NUMA memory information 2013-03-08 11:51:00 -07:00
commanddata tests: reserve more fds for commandtest 2013-02-05 10:47:00 -07:00
confdata
cputestdata
domainschemadata parallels: implement containers creation 2012-09-13 21:19:58 +08:00
domainsnapshotxml2xmlin snapshot: new XML for external system checkpoint 2012-11-02 09:56:23 -06:00
domainsnapshotxml2xmlout snapshot: new XML for external system checkpoint 2012-11-02 09:56:23 -06:00
interfaceschemadata
lxcxml2xmldata Add support for <hostdev mode="capabilities"> 2012-12-17 17:50:50 +00:00
networkxml2confdata Revert "Add support for <option> tag in network config" 2013-02-27 10:55:24 -05:00
networkxml2xmlin Revert "Add support for <option> tag in network config" 2013-02-27 10:55:24 -05:00
networkxml2xmlout util: Change virMacAddrFormat to lowercase hex characters 2013-04-02 15:53:43 +02:00
nodedevschemadata Update xml schemas according to libvirt source 2012-08-02 14:36:23 -06:00
nodeinfodata nodeinfotest: Add test data from a AMD bulldozer machine. 2012-11-13 00:35:36 +01:00
nwfilterxml2xmlin nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
nwfilterxml2xmlout nwfilter: Add support for ipset 2012-05-21 06:26:34 -04:00
qemuhelpdata Revert "qemu: detect multi-head qxl via more than version check" 2013-03-25 08:38:35 -06:00
qemuxml2argvdata smartcard: spell ccid-card-emulated qemu property correctly 2013-04-02 06:23:33 -06:00
qemuxml2xmloutdata Remove probing of CPU models when launching QEMU guests 2012-09-27 10:24:52 +01:00
qemuxmlnsdata qemu: pass -usb and usb hubs earlier, so USB disks with static address are handled properly 2012-10-30 08:54:32 +01:00
securityselinuxlabeldata Add a test suite for validating SELinux labelling 2013-01-14 13:40:04 +00:00
sexpr2xmldata storage: treat 'aio' like 'raw' at parse time 2012-10-19 17:35:09 -06:00
storagepoolxml2xmlin Update xml schemas according to libvirt source 2012-08-02 14:36:23 -06:00
storagepoolxml2xmlout Update xml schemas according to libvirt source 2012-08-02 14:36:23 -06:00
storagevolxml2argvdata storage: move qemu-img options before positional arguments 2013-02-24 18:11:40 +01:00
storagevolxml2xmlin Added timestamps to storage volumes 2012-08-02 17:14:17 -06:00
storagevolxml2xmlout Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
sysinfodata Implement minimal sysinfo for ARM platforms 2013-04-04 11:07:31 +01:00
vmx2xmldata vmx: handle shared folders parsing 2012-07-21 20:15:02 +02:00
xencapsdata
xmconfigdata numad: Always output 'placement' of <vcpu> 2012-05-08 16:57:37 -06:00
xml2sexprdata Xen: Fix <clock> handling 2012-04-02 09:33:54 -06:00
xml2vmxdata util: Change virMacAddrFormat to lowercase hex characters 2013-04-02 15:53:43 +02:00
.valgrind.supp valgrind: Adjust the suppression file 2013-02-07 14:08:14 -05:00
capabilityschematest
commandhelper.c tests: uniformly report test failures 2013-02-25 17:38:11 -07:00
commandtest.c commandtest: Resolve some coverity resource leaks 2013-02-16 07:44:35 -05:00
cpuset use virBitmap to store cpumask info. 2012-09-17 14:59:37 -04:00
cputest.c Rename xml.{c,h} to virxml.{c,h} 2012-12-21 11:19:50 +00:00
define-dev-segfault numad: Always output 'placement' of <vcpu> 2012-05-08 16:57:37 -06:00
domainschematest
domainsnapshotschematest
domainsnapshotxml2xmltest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
esxutilstest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
eventtest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
int-overflow
interfaceschematest
interfacexml2xmltest.c
jsontest.c Rename json.{c,h} to virjson.{c,h} 2012-12-21 11:17:13 +00:00
libvirtd-fail
libvirtd-pool
libvirtdconftest.c Convert HAVE_SASL to WITH_SASL 2013-01-11 11:03:23 +00:00
lxcxml2xmltest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
Makefile.am rename tests/conftest.c 2013-03-19 13:13:28 -06:00
networkschematest
networkxml2conftest.c Enforce return check on virAsprintf() calls 2013-01-30 14:42:22 -07:00
networkxml2xmltest.c use client id for IPv6 DHCP host definition 2013-02-25 02:49:06 -05:00
nodedevschematest
nodedevxml2xmltest.c
nodeinfotest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
nwfilterschematest
nwfilterxml2xmltest.c Rename xml.{c,h} to virxml.{c,h} 2012-12-21 11:19:50 +00:00
object-locking.ml maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
oomtrace.pl Remove tabs from all perl files & enforce this 2012-07-30 13:09:57 +01:00
openvzutilstest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
openvzutilstest.conf
pkix_asn1_tab.c
qemuargv2xmltest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemuhelptest.c Optimize machine option to set more options with it 2013-04-02 07:02:34 -06:00
qemumonitorjsontest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemumonitortest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
qemumonitortestutils.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemumonitortestutils.h maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemuxml2argvtest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemuxml2xmltest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
qemuxmlnstest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
read-bufsiz maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
read-non-seekable maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
reconnect.c Rename command.{c,h} to vircommand.{c,h} 2012-12-21 11:17:13 +00:00
schematestutils.sh
seclabeltest.c tests: uniformly report test failures 2013-02-25 17:38:11 -07:00
securityselinuxhelper.c securityselinuxhelper.c: Don't try to include xattr.h if not available 2013-01-14 21:00:51 +01:00
securityselinuxlabeltest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
securityselinuxtest.c Fix parsing of SELinux ranges without a category 2013-03-14 12:42:21 +00:00
sexpr2xmltest.c Turn virCapabilities into a virObject 2013-02-08 11:34:26 +00:00
shunloadhelper.c maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
shunloadtest.c maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
sockettest.c Rename memory.{c,h} to viralloc.{c,h} 2012-12-21 11:17:14 +00:00
ssh.c maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
start maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
statstest.c Rename stats_linux.{c,h} to virstatslinux.{c,h} 2012-12-21 11:19:48 +00:00
storagebackendsheepdogtest.c maint: fix up copyright notice inconsistencies 2012-09-20 16:30:55 -06:00
storagepoolschematest
storagepoolxml2xmltest.c Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
storagevolschematest
storagevolxml2argvtest.c tests: fix leaks in storagevolxml2argvtest 2013-02-27 10:11:52 +01:00
storagevolxml2xmltest.c Remove spurious whitespace between function name & open brackets 2012-11-02 13:36:49 +00:00
sysinfotest.c Implement minimal sysinfo for ARM platforms 2013-04-04 11:07:31 +01:00
test_conf.c rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test_conf.sh rename tests/conftest.c 2013-03-19 13:13:28 -06:00
test-lib.sh
testutils.c viralloc: Export virAllocTest* 2013-03-22 12:45:14 +01:00
testutils.h tests: uniformly report test failures 2013-02-25 17:38:11 -07:00
testutilslxc.c Turn virCapabilities into a virObject 2013-02-08 11:34:26 +00:00
testutilslxc.h
testutilsqemu.c qemu: add dtb option support 2013-03-19 15:48:58 -06:00
testutilsqemu.h maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
testutilsxen.c conf: Add post XML parse callbacks and prepare for cleaning of virCaps 2013-04-04 22:29:48 +02:00
testutilsxen.h maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
utiltest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
vcpupin maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
viratomictest.c Rename threads.{c,h} to virthread.{c,h} 2012-12-21 11:19:49 +00:00
virauthconfigtest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
virbitmaptest.c bitmap: add way to find next clear bit 2013-02-05 16:23:14 -07:00
virbuftest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
virdrivermoduletest.c drivermodule: Ignore coverity warning about leaked_storage 2013-02-16 07:44:34 -05:00
virendiantest.c util: add virendian.h macros 2013-02-12 09:00:15 -07:00
virhashdata.h
virhashtest.c Rename util.{c,h} to virutil.{c,h} 2012-12-21 11:19:49 +00:00
viridentitytest.c Define internal APIs for managing identities 2013-03-19 13:37:37 +00:00
virkeyfiletest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
virlockspacetest.c Check return on mkdir for LOCKSPACE_DIR 2013-01-04 10:57:09 -07:00
virnetmessagetest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
virnetsockettest.c virnetsockettest: Need to initialize 'path' 2013-01-22 17:29:25 +01:00
virnettlscontexttest.c Fix TLS tests with gnutls 3 2013-03-04 17:42:16 +00:00
virportallocatortest.c build: fix build on BSD 2013-01-17 16:39:10 -07:00
virsh-all Don't check the 'connect' command in virsh-all test 2012-08-07 11:59:08 +01:00
virsh-optparse virsh: add snapshot-create-as memspec support 2012-11-07 09:04:18 -07:00
virsh-schedinfo Allow multiple parameters for schedinfo 2013-04-03 08:49:30 +02:00
virsh-synopsis maint: avoid regression on copyright listings 2012-07-27 07:42:34 -06:00
virsh-undefine build: avoid confusing make with raw name 'undefine' 2012-09-12 11:27:22 -06:00
virshtest.c Rename xml.{c,h} to virxml.{c,h} 2012-12-21 11:19:50 +00:00
virstoragetest.c tests: skip virstoragetest on RHEL 5 2013-02-26 12:53:36 -07:00
virstringtest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
virt-aa-helper-test add vnc unix sockets to apparmor policy 2012-12-11 14:32:39 -07:00
virtimetest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
viruritest.c Rename virterror.c virterror_internal.h to virerror.{c,h} 2012-12-21 11:19:50 +00:00
vmx2xmltest.c Turn virCapabilities into a virObject 2013-02-08 11:34:26 +00:00
xencapstest.c Turn virCapabilities into a virObject 2013-02-08 11:34:26 +00:00
xmconfigtest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
xml2sexprtest.c maint: Rename xmlconf to xmlopt and virDomainXMLConfig to virDomainXMLOption 2013-04-04 22:18:56 +02:00
xml2vmxtest.c conf: Add post XML parse callbacks and prepare for cleaning of virCaps 2013-04-04 22:29:48 +02:00