libvirt/tests
Pavel Hrdina 0a476f1521 conf: Introduce virDomainDefPostParseMemtune
Previously we were ignoring "nodeset" attribute for hugepage pages
if there was no guest NUMA topology configured in the domain XML.
Commit <fa6bdf6afa878b8d7c5ed71664ee72be8967cdc5> partially fixed
that issue but it introduced a somehow valid regression.

In case that there is no guest NUMA topology configured and the
"nodeset" attribute is set to "0" it was accepted and was working
properly even though it was not completely valid XML.

This patch introduces a workaround that it will ignore the nodeset="0"
only in case that there is no guest NUMA topology in order not to
hit the validation error.

After this commit the following XML configuration is valid:

  <memoryBacking>
    <hugepages>
      <page size='2048' unit='KiB' nodeset='0'/>
    </hugepages>
  </memoryBacking>

but this configuration remains invalid:

  <memoryBacking>
    <hugepages>
      <page size='2048' unit='KiB' nodeset='0'/>
      <page size='1048576' unit='KiB'/>
    </hugepages>
  </memoryBacking>

The issue with the second configuration is that it was originally
working, however changing the order of the <page> elements resolved
into using different page size for the guest.  The code is written
in a way that it expect only one page configured and always uses only
the first page in case that there is no guest NUMA topology configured.
See qemuBuildMemPathStr() function for details.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1591235

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
2018-08-10 17:06:48 +02:00
..
bhyveargv2xmldata bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2argvdata bhyve: tests: Add missing data files 2018-06-08 21:53:36 +04:00
bhyvexml2xmloutdata bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
capabilityschemadata schema: Fix capability grammar for pagesElem 2018-05-25 09:36:42 -04:00
commanddata
cputestdata cputest: New test for Intel Core i5-650 2018-04-18 11:39:53 +02:00
domaincapsschemadata conf: Introduce new video type 'none' 2018-07-18 18:23:51 +02:00
domainconfdata
domainschemadata
domainsnapshotxml2xmlin
domainsnapshotxml2xmlout tests: domainsnapshotxml2xml: Remove testing with allowed format detection 2018-03-13 13:54:06 +01:00
fchostdata/fc_host
genericxml2xmlindata conf: prefer camelCase for launchSecurity 2018-06-13 14:42:17 +02:00
genericxml2xmloutdata tests: Add test for properly removing cachetune entries 2018-02-02 14:51:32 +01:00
interfaceschemadata
libxlxml2domconfigdata tests: check CPU features handling in libxl driver 2018-04-17 21:15:27 -06:00
lxcconf2xmldata
lxcxml2xmldata
lxcxml2xmloutdata
networkxml2confdata
networkxml2firewalldata
networkxml2xmlin
networkxml2xmlout
networkxml2xmlupdatein
networkxml2xmlupdateout
nodedevschemadata schema: Add missing block data for nodedev 2018-05-25 09:36:42 -04:00
nssdata
nwfilterxml2firewalldata
nwfilterxml2xmlin
nwfilterxml2xmlout
qemuagentdata
qemuargv2xmldata conf: introduce virDomainDefBootOrderPostParse 2018-05-29 10:22:08 +02:00
qemublocktestdata/xml2json qemu: block: Add support for RBD authentication for blockdev 2018-07-10 13:37:51 +02:00
qemucapabilitiesdata qemu: capabilities: Always assume QEMU_CAPS_BOOTINDEX 2018-08-09 17:00:54 +02:00
qemucaps2xmldata capabilities: Extend capabilities with iommu_support 2018-06-05 08:33:13 +02:00
qemuhotplugtestcpus
qemuhotplugtestdevices
qemuhotplugtestdomains qemu: Don't assign alias to disabled balloon device 2018-03-19 21:22:43 +01:00
qemumemlockdata
qemumigparamsdata Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
qemumonitorjsondata tests: add testcase for s390 query-cpus-fast 2018-04-17 12:45:26 -04:00
qemustatusxml2xmldata qemu: domain: Regenerate alias for the TLS x509 credential object 2018-06-05 08:13:57 +02:00
qemuxml2argvdata conf: Introduce virDomainDefPostParseMemtune 2018-08-10 17:06:48 +02:00
qemuxml2startupxmloutdata qemu: domain: Move initialization of disk cachemode for <shareable> disks 2018-04-03 15:48:38 +02:00
qemuxml2xmloutdata conf: Introduce virDomainDefPostParseMemtune 2018-08-10 17:06:48 +02:00
secretxml2xmlin
securityselinuxhelperdata
securityselinuxlabeldata
sexpr2xmldata conf: introduce virDomainDefBootOrderPostParse 2018-05-29 10:22:08 +02:00
storagepoolschemadata
storagepoolxml2xmlin storage: Introduce iscsi_direct pool type 2018-08-06 12:23:55 +02:00
storagepoolxml2xmlout storage: Introduce iscsi_direct pool type 2018-08-06 12:23:55 +02:00
storagevolschemadata schema: Add physical sizing element for storagevol grammar 2018-05-25 09:32:37 -04:00
storagevolxml2argvdata storage: Add support for using inputvol for encryption 2018-06-26 14:02:43 -04:00
storagevolxml2xmlin storage: Add support for using inputvol for encryption 2018-06-26 14:02:43 -04:00
storagevolxml2xmlout storage: Disallow create/resize of qcow2 encrypted images 2018-06-26 14:02:43 -04:00
sysinfodata virsysinfo: Use more virSkipSpacesBackwards() 2018-03-14 17:43:40 +01:00
vboxsnapshotxmldata
vircaps2xmldata tests: Unify data structure for vircaps2xmltest 2018-08-06 13:44:59 +02:00
vircgroupdata
virconfdata
virfilecachedata
virfiledata
virhostcpudata
virjsondata
virmacmaptestdata Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
virnetdaemondata tests: validate private data / pre / post exec hooks for RPC APIs 2018-02-02 13:00:48 +00:00
virnetdevtestdata/sys/class/net
virnwfilterbindingxml2xmldata conf: add support for parsing/formatting virNWFilterBindingDefPtr 2018-06-26 11:22:07 +01:00
virpcitestdata
virresctrldata
virscsidata
virstorageutildata
virusbtestdata/sys_bus_usb/devices
vmwareverdata
vmx2xmldata vmx: convert cpuid.coresPerSocket for CPU topology 2018-04-20 09:09:29 +02:00
xlconfigdata tests: add test case for CPUID in xenconfig driver 2018-04-17 21:15:27 -06:00
xmconfigdata tests: xmconfigtest: add tests for cmdline formating 2018-06-04 20:59:16 -06:00
xml2sexprdata tests: move xml2sexpr tests to WITH_LIBXL 2018-04-09 11:33:30 -06:00
xml2vmxdata vmx: write cpuid.coresPerSocket back from CPU topology 2018-04-20 09:11:01 +02:00
.valgrind.supp
bhyveargv2xmlmock.c conf: move 'generated' member from virMacAddr to virDomainNetDef 2018-02-19 13:15:00 -05:00
bhyveargv2xmltest.c bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
bhyvexml2argvmock.c port allocator: drop skip bind check flag 2018-02-22 13:52:45 +01:00
bhyvexml2argvtest.c bhyve: Add CPU topology support 2018-06-07 19:26:26 +04:00
bhyvexml2xmltest.c bhyve: add tests for wiring memory 2018-05-13 13:38:31 +04:00
check-file-access.pl
commandhelper.c tests: Return failure if log not fopen'd 2018-04-19 14:24:12 -04:00
commandtest.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
cputest.c Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
domaincapsmock.c
domaincapstest.c tests: qemucapabilities: Drop mostly duplicated data 2018-03-23 20:27:52 +01:00
domainconftest.c
domainsnapshotxml2xmltest.c tests: domainsnapshotxml2xml: Remove testing with allowed format detection 2018-03-13 13:54:06 +01:00
esxutilstest.c
eventtest.c
fchosttest.c
fdstreamtest.c
file_access_whitelist.txt
genericxml2xmltest.c conf: Introduce launch-security element in domain 2018-06-12 10:00:49 +02:00
group-qemu-caps.pl syntax-check: pass srcdir to group-qemu-caps.pl 2018-04-26 13:39:10 +02:00
interfacexml2xmltest.c
libvirtd-fail Forget last daemon/ dir artefacts 2018-07-27 15:44:38 +02:00
libvirtd-pool
libxlxml2domconfigtest.c tests: libxl: Fix a segfault when libxl configuration setup fails 2018-08-02 10:35:35 +02:00
lxcconf2xmltest.c
lxcxml2xmltest.c tests: Remove redundant lxc test 2018-07-26 10:13:00 -04:00
Makefile.am Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
metadatatest.c tests: initialize some variables 2018-05-30 15:54:58 +02:00
networkxml2conftest.c
networkxml2firewalltest.c
networkxml2xmltest.c
networkxml2xmlupdatetest.c
nodedevxml2xmltest.c schema: Add missing block data for nodedev 2018-05-25 09:36:42 -04:00
nsslinktest.c
nssmock.c tests: Fix mode_t usage with va_arg() 2018-05-03 18:23:30 +02:00
nsstest.c
nwfilterebiptablestest.c
nwfilterxml2firewalltest.c nwfilter: remove virNWFilterHashTable typedefs entirely 2018-05-03 17:00:57 +01:00
nwfilterxml2xmltest.c
objecteventtest.c tests: initialize some variables 2018-05-30 15:54:58 +02:00
objectlocking.ml
oomtrace.pl
openvzutilstest.c
openvzutilstest.conf
pkix_asn1_tab.c
qemuagenttest.c tests: also skip qemuagenttest with old jansson 2018-07-23 17:03:02 +02:00
qemuargv2xmltest.c
qemublocktest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
qemucapabilitiestest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
qemucaps2xmlmock.c
qemucaps2xmltest.c Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
qemucapsfixreplies tests: Fix qemucapsfixreplies 2018-06-19 14:01:14 +02:00
qemucapsprobe.c Force QMP capability probing 2018-04-10 15:16:23 +02:00
qemucapsprobemock.c tests: qemucapsprobe: Fix output after switching to jansson 2018-08-01 13:55:58 +02:00
qemucommandutiltest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
qemucpumock.c
qemuhotplugtest.c tests: qemuhotplug: Fix segfault when XML loading fails 2018-07-26 10:13:00 -04:00
qemumemlocktest.c qemu: Complete PCI command checks to controller def validate 2018-02-02 14:52:23 -05:00
qemumigparamstest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
qemumonitorjsontest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
qemumonitortestutils.c tests: qemumonitorutils: Don't crash on wrong monitor command 2018-07-13 14:15:59 +02:00
qemumonitortestutils.h tests: add qemumonitorjson tests for query-cpus-fast 2018-04-17 12:45:26 -04:00
qemuxml2argvmock.c qemu: support passing pre-opened UNIX socket listen FD 2018-06-05 17:30:28 +01:00
qemuxml2argvtest.c conf: Introduce virDomainDefPostParseMemtune 2018-08-10 17:06:48 +02:00
qemuxml2xmltest.c conf: Introduce virDomainDefPostParseMemtune 2018-08-10 17:06:48 +02:00
scsihosttest.c
seclabeltest.c
secretxml2xmltest.c
securityselinuxhelper.c Fix include for xattr.h 2018-08-06 11:50:53 +02:00
securityselinuxlabeltest.c Fix include for xattr.h 2018-08-06 11:50:53 +02:00
securityselinuxtest.c
sexpr2xmltest.c tests: move sexpr2xml tests to WITH_LIBXL 2018-04-09 11:34:35 -06:00
shunloadhelper.c
shunloadtest.c
sockettest.c
ssh.c
storagebackendsheepdogtest.c
storagepoolxml2xmltest.c storage: Introduce iscsi_direct pool type 2018-08-06 12:23:55 +02:00
storagevolxml2argvtest.c storage: Add support for using inputvol for encryption 2018-06-26 14:02:43 -04:00
storagevolxml2xmltest.c storage: Disallow create/resize of qcow2 encrypted images 2018-06-26 14:02:43 -04:00
sysinfotest.c Fix build with clang 6.0.0 2018-03-12 20:04:08 +04:00
test-lib.sh
test-wrap-argv.pl
testutils.c conf: Drop unnecessary caps parsing logic 2018-07-26 10:13:00 -04:00
testutils.h tests: Create full host NUMA topology in more cases 2018-04-19 17:57:52 +02:00
testutilshostcpus.h
testutilslxc.c
testutilslxc.h
testutilsqemu.c conf: Drop unnecessary caps parsing logic 2018-07-26 10:13:00 -04:00
testutilsqemu.h tests: qemu: Add helper code to lookup latest capability file 2018-04-19 11:20:34 +02:00
testutilsqemuschema.c tests: qemuschema: Add line break to debug message 2018-07-13 14:15:59 +02:00
testutilsqemuschema.h tests: qemu: Use qmp schema data from the qemucapabilities test 2018-07-10 13:37:50 +02:00
testutilsxen.c Remove xencaps tests and data files 2018-04-09 11:37:15 -06:00
testutilsxen.h Remove xencaps tests and data files 2018-04-09 11:37:15 -06:00
utiltest.c
vboxsnapshotxmltest.c
viralloctest.c
viratomictest.c
virauthconfigtest.c
virbitmaptest.c util: bitmap: Use VIR_SHRINK_N in virBitmapShrink 2018-02-05 16:08:57 +01:00
virbuftest.c
vircaps2xmltest.c tests: Unify data structure for vircaps2xmltest 2018-08-06 13:44:59 +02:00
vircapstest.c conf: Drop unnecessary caps parsing logic 2018-07-26 10:13:00 -04:00
vircgroupmock.c tests: Fix mode_t usage with va_arg() 2018-05-03 18:23:30 +02:00
vircgrouptest.c Revert "util: cgroup: modify virCgroupFree to take virCgroupPtr" 2018-07-30 13:30:11 +02:00
virconftest.c
vircryptotest.c src: Drop most of #ifdef WITH_GNUTLS 2018-06-05 14:32:36 +02:00
virdbusmock.c
virdbustest.c
virdeterministichashmock.c
virdrivermoduletest.c driver: add option to make missing drivers a fatal problem 2018-04-24 17:01:48 +01:00
virendiantest.c
virfilecachemock.c
virfilecachetest.c src: Drop most of #ifdef WITH_GNUTLS 2018-06-05 14:32:36 +02:00
virfiletest.c
virfilewrapper.c
virfilewrapper.h
virfirewalltest.c
virhashdata.h
virhashtest.c util: don't check for parallel iteration in hash-related functions 2018-04-11 11:18:37 +02:00
virhostcpumock.c
virhostcputest.c all: Replace virGetLastError with virGetLastErrorCode where we can 2018-06-05 18:44:05 +02:00
virhostdevtest.c
viridentitytest.c
viriscsitest.c viriscsitest: Extend virISCSIConnectionLogin test 2018-07-25 07:11:13 +02:00
virjsontest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
virkeycodetest.c keycodemapdb: Update submodule 2018-03-12 16:30:49 +01:00
virkeyfiletest.c
virkmodtest.c
virlockspacetest.c
virlogtest.c
virmacmaptest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
virmock.h
virmocklibxl.c Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
virnetdaemonmock.c
virnetdaemontest.c m4: Introduce STABLE_ORDERING_JANSSON 2018-07-18 17:54:18 +02:00
virnetdevbandwidthmock.c
virnetdevbandwidthtest.c
virnetdevmock.c
virnetdevtest.c
virnetmessagetest.c
virnetserverclientmock.c
virnetserverclienttest.c src: Drop most of #ifdef WITH_GNUTLS 2018-06-05 14:32:36 +02:00
virnetsockettest.c
virnettlscontexttest.c tests: force use of "NORMAL" TLS priority in test suite 2018-03-06 10:09:44 +00:00
virnettlshelpers.c
virnettlshelpers.h
virnettlssessiontest.c tests: fix TLS handshake failure with TLS 1.3 2018-07-23 11:36:09 +01:00
virnumamock.c virNumaGetHugePageInfo: Return page_avail and page_free as ULL 2018-04-24 11:02:28 +02:00
virnwfilterbindingxml2xmltest.c conf: add support for parsing/formatting virNWFilterBindingDefPtr 2018-06-26 11:22:07 +01:00
virpcimock.c tests: Build virpcimock on FreeBSD too 2018-05-03 18:23:30 +02:00
virpcitest.c
virpolkittest.c
virportallocatormock.c
virportallocatortest.c port allocator: drop skip bind check flag 2018-02-22 13:52:45 +01:00
virrandommock.c tests: mock virRandomBits to make it endian stable 2018-08-02 14:24:40 +01:00
virresctrltest.c
virrotatingfiletest.c
virschematest.c schemas: add schema for nwfilter binding XML document 2018-06-26 11:22:07 +01:00
virscsitest.c
virsh-cpuset
virsh-define-dev-segfault
virsh-int-overflow
virsh-optparse
virsh-read-bufsiz
virsh-read-non-seekable
virsh-schedinfo
virsh-self-test
virsh-start
virsh-undefine
virsh-uriprecedence
virsh-vcpupin
virshtest.c tests: run virshtest independent of current pwd 2018-02-13 10:27:32 -05:00
virstoragetest.c Switch from yajl to Jansson 2018-07-18 17:54:18 +02:00
virstorageutiltest.c
virstringtest.c util: Rework virStringListAdd 2018-07-27 15:47:45 +02:00
virsystemdtest.c
virt-aa-helper-test virt-aa-helper: test: check for expected profile content 2018-03-23 07:14:58 +01:00
virt-admin-self-test
virtestmock.c virtestmock: Track connect() too 2018-07-27 15:44:42 +02:00
virtimetest.c
virtypedparamtest.c
viruritest.c
virusbmock.c
virusbtest.c util: usb: modify virUSBDeviceListAdd to take double pointer 2018-07-27 17:21:14 +02:00
vmwarevertest.c
vmx2xmltest.c schema,tests: Use vpxmigr for host migrate transport capability 2018-05-25 09:33:39 -04:00
xlconfigtest.c xenconfig: remove my name and email from files 2018-05-08 13:45:51 +01:00
xmconfigtest.c tests: xmconfigtest: add tests for cmdline formating 2018-06-04 20:59:16 -06:00
xml2sexprtest.c tests: move xml2sexpr tests to WITH_LIBXL 2018-04-09 11:33:30 -06:00
xml2vmxtest.c vmx: write cpuid.coresPerSocket back from CPU topology 2018-04-20 09:11:01 +02:00