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