tests: reintroduce tests for libxl's legacy nested setting

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>
This commit is contained in:
Jim Fehlig 2018-09-26 11:31:19 -06:00 committed by Erik Skultety
parent 125ac4c0a8
commit 25456e0470
5 changed files with 375 additions and 0 deletions

View File

@ -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"
}

View File

@ -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>

View File

@ -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"
}

View File

@ -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>

View File

@ -212,6 +212,9 @@ mymain(void)
# ifdef LIBXL_HAVE_BUILDINFO_NESTED_HVM # ifdef LIBXL_HAVE_BUILDINFO_NESTED_HVM
DO_TEST("vnuma-hvm"); DO_TEST("vnuma-hvm");
DO_TEST("fullvirt-cpuid"); DO_TEST("fullvirt-cpuid");
# else
DO_TEST("vnuma-hvm-legacy-nest");
DO_TEST("fullvirt-cpuid-legacy-nest");
# endif # endif