]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: reintroduce tests for libxl's legacy nested setting
authorJim Fehlig <jfehlig@suse.com>
Wed, 26 Sep 2018 17:31:19 +0000 (11:31 -0600)
committerErik Skultety <eskultet@redhat.com>
Mon, 1 Oct 2018 08:33:19 +0000 (10:33 +0200)
The preferred location for setting the nested CPU flag changed in
Xen 4.10 and is advertised via the LIBXL_HAVE_BUILDINFO_NESTED_HVM
define.  Commit 95d19cd0 changed libxl to use the new preferred
location but unconditionally changed the tests, causing 'make check'
failures against Xen < 4.10 that do not contain the new location.

Commit e94415d5 fixed the failures by only running the tests when
LIBXL_HAVE_BUILDINFO_NESTED_HVM is defined. Since libvirt supports
several versions of Xen that use the old nested location, it is
prudent to test the flag is set correctly. This patch reintroduces
the tests for the legacy location of the nested setting.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json [new file with mode: 0644]
tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.xml [new file with mode: 0644]
tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json [new file with mode: 0644]
tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.xml [new file with mode: 0644]
tests/libxlxml2domconfigtest.c

diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json b/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.json
new file mode 100644 (file)
index 0000000..cdc8b98
--- /dev/null
@@ -0,0 +1,60 @@
+{
+    "c_info": {
+        "type": "hvm",
+        "name": "XenGuest2",
+        "uuid": "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
+    },
+    "b_info": {
+        "max_vcpus": 1,
+        "avail_vcpus": [
+            0
+        ],
+        "max_memkb": 592896,
+        "target_memkb": 403456,
+        "shadow_memkb": 5656,
+        "cpuid": [
+            {
+                "leaf": 1,
+                "ecx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0",
+                "edx": "xxxxxxxxxxxxxxxxxxxxxxxxxxx1xxxx"
+            }
+        ],
+        "sched_params": {
+        },
+        "type.hvm": {
+            "pae": "True",
+            "apic": "True",
+            "acpi": "True",
+            "nested_hvm": "False",
+            "nographic": "True",
+            "vnc": {
+                "enable": "False"
+            },
+            "sdl": {
+                "enable": "False"
+            },
+            "spice": {
+
+            },
+            "boot": "c",
+            "rdm": {
+
+            }
+        },
+        "arch_arm": {
+
+        }
+    },
+    "disks": [
+        {
+            "pdev_path": "/dev/HostVG/XenGuest2",
+            "vdev": "hda",
+            "backend": "phy",
+            "format": "raw",
+            "removable": 1,
+            "readwrite": 1
+        }
+    ],
+    "on_reboot": "restart",
+    "on_crash": "restart"
+}
diff --git a/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.xml b/tests/libxlxml2domconfigdata/fullvirt-cpuid-legacy-nest.xml
new file mode 100644 (file)
index 0000000..4f06db0
--- /dev/null
@@ -0,0 +1,34 @@
+<domain type='xen'>
+  <name>XenGuest2</name>
+  <uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
+  <memory unit='KiB'>592896</memory>
+  <currentMemory unit='KiB'>403456</currentMemory>
+  <vcpu placement='static'>1</vcpu>
+  <os>
+    <type arch='x86_64' machine='xenfv'>hvm</type>
+  </os>
+  <features>
+    <acpi/>
+    <apic/>
+    <pae/>
+  </features>
+  <cpu mode='host-passthrough'>
+    <feature policy='forbid' name='pni'/>
+    <feature policy='forbid' name='vmx'/>
+    <feature policy='require' name='tsc'/>
+  </cpu>
+  <clock offset='variable' adjustment='0' basis='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>restart</on_crash>
+  <devices>
+    <disk type='block' device='disk'>
+      <driver name='phy' type='raw'/>
+      <source dev='/dev/HostVG/XenGuest2'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
+    </disk>
+    <input type='mouse' bus='ps2'/>
+    <input type='keyboard' bus='ps2'/>
+  </devices>
+</domain>
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json b/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.json
new file mode 100644 (file)
index 0000000..3b2fc5f
--- /dev/null
@@ -0,0 +1,178 @@
+{
+    "c_info": {
+        "type": "hvm",
+        "name": "test-hvm",
+        "uuid": "2147d599-9cc6-c0dc-92ab-4064b5446e9b"
+    },
+    "b_info": {
+        "max_vcpus": 6,
+        "avail_vcpus": [
+            0,
+            1,
+            2,
+            3,
+            4,
+            5
+        ],
+        "vnuma_nodes": [
+            {
+                "memkb": 2097152,
+                "distances": [
+                    10,
+                    21,
+                    31,
+                    41,
+                    51,
+                    61
+                ],
+                "vcpus": [
+                    0
+                ]
+            },
+            {
+                "memkb": 2097152,
+                "distances": [
+                    21,
+                    10,
+                    21,
+                    31,
+                    41,
+                    51
+                ],
+                "vcpus": [
+                    1
+                ]
+            },
+            {
+                "memkb": 2097152,
+                "distances": [
+                    31,
+                    21,
+                    10,
+                    21,
+                    31,
+                    41
+                ],
+                "vcpus": [
+                    2
+                ]
+            },
+            {
+                "memkb": 2097152,
+                "distances": [
+                    41,
+                    31,
+                    21,
+                    10,
+                    21,
+                    31
+                ],
+                "vcpus": [
+                    3
+                ]
+            },
+            {
+                "memkb": 2097152,
+                "distances": [
+                    51,
+                    41,
+                    31,
+                    21,
+                    10,
+                    21
+                ],
+                "vcpus": [
+                    4
+                ]
+            },
+            {
+                "memkb": 2097152,
+                "distances": [
+                    61,
+                    51,
+                    41,
+                    31,
+                    21,
+                    10
+                ],
+                "vcpus": [
+                    5
+                ]
+            }
+        ],
+        "max_memkb": 1048576,
+        "target_memkb": 1048576,
+        "video_memkb": 8192,
+        "shadow_memkb": 14336,
+        "device_model_version": "qemu_xen",
+        "device_model": "/bin/true",
+        "sched_params": {
+
+        },
+        "type.hvm": {
+            "pae": "True",
+            "apic": "True",
+            "acpi": "True",
+            "nested_hvm": "True",
+            "vga": {
+                "kind": "cirrus"
+            },
+            "vnc": {
+                "enable": "True",
+                "listen": "0.0.0.0",
+                "findunused": "False"
+            },
+            "sdl": {
+                "enable": "False"
+            },
+            "spice": {
+
+            },
+            "boot": "c",
+            "rdm": {
+
+            }
+        },
+        "arch_arm": {
+
+        }
+    },
+    "disks": [
+        {
+            "pdev_path": "/var/lib/xen/images/test-hvm.img",
+            "vdev": "hda",
+            "backend": "qdisk",
+            "format": "raw",
+            "removable": 1,
+            "readwrite": 1
+        }
+    ],
+    "nics": [
+        {
+            "devid": 0,
+            "mac": "00:16:3e:66:12:b4",
+            "bridge": "br0",
+            "script": "/etc/xen/scripts/vif-bridge",
+            "nictype": "vif_ioemu"
+        }
+    ],
+    "vfbs": [
+        {
+           "devid": -1,
+            "vnc": {
+                "enable": "True",
+                "listen": "0.0.0.0",
+                "findunused": "False"
+            },
+            "sdl": {
+                "enable": "False"
+            }
+        }
+    ],
+    "vkbs": [
+        {
+            "devid": -1
+        }
+    ],
+    "on_reboot": "restart"
+}
diff --git a/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.xml b/tests/libxlxml2domconfigdata/vnuma-hvm-legacy-nest.xml
new file mode 100644 (file)
index 0000000..6e265e3
--- /dev/null
@@ -0,0 +1,100 @@
+<domain type='xen'>
+  <name>test-hvm</name>
+  <description>None</description>
+  <uuid>2147d599-9cc6-c0dc-92ab-4064b5446e9b</uuid>
+  <memory>1048576</memory>
+  <currentMemory>1048576</currentMemory>
+  <vcpu>6</vcpu>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <clock offset='utc'/>
+  <os>
+    <type>hvm</type>
+    <loader>/usr/lib/xen/boot/hvmloader</loader>
+    <boot dev='hd'/>
+  </os>
+  <features>
+    <apic/>
+    <acpi/>
+    <pae/>
+  </features>
+  <cpu mode='host-passthrough'>
+    <numa>
+      <cell id='0' cpus='0' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='10'/>
+          <sibling id='1' value='21'/>
+          <sibling id='2' value='31'/>
+          <sibling id='3' value='41'/>
+          <sibling id='4' value='51'/>
+          <sibling id='5' value='61'/>
+        </distances>
+      </cell>
+      <cell id='1' cpus='1' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='21'/>
+          <sibling id='1' value='10'/>
+          <sibling id='2' value='21'/>
+          <sibling id='3' value='31'/>
+          <sibling id='4' value='41'/>
+          <sibling id='5' value='51'/>
+        </distances>
+      </cell>
+      <cell id='2' cpus='2' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='31'/>
+          <sibling id='1' value='21'/>
+          <sibling id='2' value='10'/>
+          <sibling id='3' value='21'/>
+          <sibling id='4' value='31'/>
+          <sibling id='5' value='41'/>
+        </distances>
+      </cell>
+      <cell id='3' cpus='3' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='41'/>
+          <sibling id='1' value='31'/>
+          <sibling id='2' value='21'/>
+          <sibling id='3' value='10'/>
+          <sibling id='4' value='21'/>
+          <sibling id='5' value='31'/>
+        </distances>
+      </cell>
+      <cell id='4' cpus='4' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='51'/>
+          <sibling id='1' value='41'/>
+          <sibling id='2' value='31'/>
+          <sibling id='3' value='21'/>
+          <sibling id='4' value='10'/>
+          <sibling id='5' value='21'/>
+        </distances>
+      </cell>
+      <cell id='5' cpus='5' memory='2097152' unit='KiB'>
+        <distances>
+          <sibling id='0' value='61'/>
+          <sibling id='1' value='51'/>
+          <sibling id='2' value='41'/>
+          <sibling id='3' value='31'/>
+          <sibling id='4' value='21'/>
+          <sibling id='5' value='10'/>
+        </distances>
+      </cell>
+    </numa>
+  </cpu>
+  <devices>
+    <emulator>/bin/true</emulator>
+    <disk type='file' device='disk'>
+      <driver name='qemu'/>
+      <source file='/var/lib/xen/images/test-hvm.img'/>
+      <target dev='hda'/>
+    </disk>
+    <interface type='bridge'>
+      <source bridge='br0'/>
+      <mac address='00:16:3e:66:12:b4'/>
+      <script path='/etc/xen/scripts/vif-bridge'/>
+    </interface>
+    <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
+  </devices>
+</domain>
index 22f9c2c871875ee1b2edc50ab23bae591655f11e..cf2132563e9c527e8a2d84c7321f30df0e048b4a 100644 (file)
@@ -212,6 +212,9 @@ mymain(void)
 # ifdef LIBXL_HAVE_BUILDINFO_NESTED_HVM
     DO_TEST("vnuma-hvm");
     DO_TEST("fullvirt-cpuid");
+# else
+    DO_TEST("vnuma-hvm-legacy-nest");
+    DO_TEST("fullvirt-cpuid-legacy-nest");
 # endif