99cbc7
From 037f329914960906828802047b6b338471dcba36 Mon Sep 17 00:00:00 2001
99cbc7
Message-Id: <037f329914960906828802047b6b338471dcba36@dist-git>
99cbc7
From: Pavel Hrdina <phrdina@redhat.com>
99cbc7
Date: Mon, 13 Aug 2018 18:16:19 +0200
99cbc7
Subject: [PATCH] tests: introduce hugepages-nodeset
99cbc7
MIME-Version: 1.0
99cbc7
Content-Type: text/plain; charset=UTF-8
99cbc7
Content-Transfer-Encoding: 8bit
99cbc7
99cbc7
This use-case was broken by commit
99cbc7
<fa6bdf6afa878b8d7c5ed71664ee72be8967cdc5>.
99cbc7
99cbc7
We allowed this configuration and it was working as expected therefore
99cbc7
we can consider it as regression.  We should have never allowed such
99cbc7
configuration so now the best solution is in case of non-numa guest
99cbc7
silently ignore the 'nodeset' attribute if it's set to '0'.
99cbc7
99cbc7
That will be fixed by following patches.
99cbc7
99cbc7
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
99cbc7
(cherry picked from commit 154b08a3a7b1f16fefefcc106982a062c065eacd)
99cbc7
99cbc7
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1591235
99cbc7
99cbc7
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
99cbc7
Reviewed-by: Ján Tomko <jtomko@redhat.com>
99cbc7
---
99cbc7
 tests/qemuxml2argvdata/hugepages-nodeset.xml  | 30 +++++++++++++++++++
99cbc7
 tests/qemuxml2argvtest.c                      |  1 +
99cbc7
 .../qemuxml2xmloutdata/hugepages-nodeset.xml  |  1 +
99cbc7
 tests/qemuxml2xmltest.c                       |  1 +
99cbc7
 4 files changed, 33 insertions(+)
99cbc7
 create mode 100644 tests/qemuxml2argvdata/hugepages-nodeset.xml
99cbc7
 create mode 120000 tests/qemuxml2xmloutdata/hugepages-nodeset.xml
99cbc7
99cbc7
diff --git a/tests/qemuxml2argvdata/hugepages-nodeset.xml b/tests/qemuxml2argvdata/hugepages-nodeset.xml
99cbc7
new file mode 100644
99cbc7
index 0000000000..4a85ddffad
99cbc7
--- /dev/null
99cbc7
+++ b/tests/qemuxml2argvdata/hugepages-nodeset.xml
99cbc7
@@ -0,0 +1,30 @@
99cbc7
+<domain type='qemu'>
99cbc7
+  <name>SomeDummyHugepagesGuest</name>
99cbc7
+  <uuid>ef1bdff4-27f3-4e85-a807-5fb4d58463cc</uuid>
99cbc7
+  <memory unit='KiB'>1048576</memory>
99cbc7
+  <currentMemory unit='KiB'>1048576</currentMemory>
99cbc7
+  <memoryBacking>
99cbc7
+    <hugepages>
99cbc7
+      <page size='2048' unit='KiB' nodeset='0'/>
99cbc7
+    </hugepages>
99cbc7
+  </memoryBacking>
99cbc7
+  <vcpu placement='static'>2</vcpu>
99cbc7
+  <os>
99cbc7
+    <type arch='i686' machine='pc'>hvm</type>
99cbc7
+    <boot dev='hd'/>
99cbc7
+  </os>
99cbc7
+  <clock offset='utc'/>
99cbc7
+  <on_poweroff>destroy</on_poweroff>
99cbc7
+  <on_reboot>restart</on_reboot>
99cbc7
+  <on_crash>destroy</on_crash>
99cbc7
+  <devices>
99cbc7
+    <emulator>/usr/bin/qemu-system-i686</emulator>
99cbc7
+    <controller type='usb' index='0'>
99cbc7
+      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
99cbc7
+    </controller>
99cbc7
+    <controller type='pci' index='0' model='pci-root'/>
99cbc7
+    <input type='mouse' bus='ps2'/>
99cbc7
+    <input type='keyboard' bus='ps2'/>
99cbc7
+    <memballoon model='none'/>
99cbc7
+  </devices>
99cbc7
+</domain>
99cbc7
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
99cbc7
index f92c46cec5..bd5fdf9412 100644
99cbc7
--- a/tests/qemuxml2argvtest.c
99cbc7
+++ b/tests/qemuxml2argvtest.c
99cbc7
@@ -960,6 +960,7 @@ mymain(void)
99cbc7
     DO_TEST("hugepages-default-2M", NONE);
99cbc7
     DO_TEST("hugepages-default-system-size", NONE);
99cbc7
     DO_TEST("hugepages-default-1G-nodeset-2M", NONE);
99cbc7
+    DO_TEST_FAILURE("hugepages-nodeset", NONE);
99cbc7
     DO_TEST_FAILURE("hugepages-nodeset-nonexist",
99cbc7
                     QEMU_CAPS_DEVICE_PC_DIMM,
99cbc7
                     QEMU_CAPS_OBJECT_MEMORY_FILE,
99cbc7
diff --git a/tests/qemuxml2xmloutdata/hugepages-nodeset.xml b/tests/qemuxml2xmloutdata/hugepages-nodeset.xml
99cbc7
new file mode 120000
99cbc7
index 0000000000..b55838b780
99cbc7
--- /dev/null
99cbc7
+++ b/tests/qemuxml2xmloutdata/hugepages-nodeset.xml
99cbc7
@@ -0,0 +1 @@
99cbc7
+../qemuxml2argvdata/hugepages-nodeset.xml
99cbc7
\ No newline at end of file
99cbc7
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
99cbc7
index 6ba8f97e20..acbe2f7133 100644
99cbc7
--- a/tests/qemuxml2xmltest.c
99cbc7
+++ b/tests/qemuxml2xmltest.c
99cbc7
@@ -337,6 +337,7 @@ mymain(void)
99cbc7
     DO_TEST("hugepages-default-2M", NONE);
99cbc7
     DO_TEST("hugepages-default-system-size", NONE);
99cbc7
     DO_TEST("hugepages-default-1G-nodeset-2M", NONE);
99cbc7
+    DO_TEST("hugepages-nodeset", NONE);
99cbc7
     DO_TEST("hugepages-numa-default-2M", NONE);
99cbc7
     DO_TEST("hugepages-numa-default-dimm", NONE);
99cbc7
     DO_TEST("hugepages-numa-nodeset", NONE);
99cbc7
-- 
99cbc7
2.18.0
99cbc7