Test allow disabling CPU flags
Implements test logic that validates disabling cpu flags within the guest. Related blueprint allow-disabling-cpu-flags Depends-on: https://review.opendev.org/c/openstack/nova/+/774240 Change-Id: Idc8f0de7ca6d36abe236c3fe699c4bf8755ede49
This commit is contained in:
parent
486b832ede
commit
5cfd4237ac
@ -80,13 +80,15 @@
|
||||
LIBVIRT_TYPE: kvm
|
||||
TEMPEST_PLUGINS: /opt/stack/whitebox-tempest-plugin
|
||||
WHITEBOX_PRIVKEY_PATH: /home/tempest/.ssh/id_rsa
|
||||
WHITEBOX_CPU_MODEL: kvm64
|
||||
WHITEBOX_CPU_MODEL_EXTRA_FLAGS: vme,+ssse3,-mmx
|
||||
devstack_local_conf:
|
||||
post-config:
|
||||
$NOVA_CONF:
|
||||
libvirt:
|
||||
cpu_mode: custom
|
||||
cpu_models: kvm64
|
||||
cpu_model_extra_flags: ssse3
|
||||
cpu_model_extra_flags: vme,+ssse3,-mmx
|
||||
virt_type: kvm
|
||||
rx_queue_size: 1024
|
||||
group-vars:
|
||||
@ -100,7 +102,7 @@
|
||||
libvirt:
|
||||
cpu_mode: custom
|
||||
cpu_models: kvm64
|
||||
cpu_model_extra_flags: ssse3
|
||||
cpu_model_extra_flags: vme,+ssse3,-mmx
|
||||
virt_type: kvm
|
||||
rx_queue_size: 1024
|
||||
tempest:
|
||||
|
@ -3,8 +3,6 @@ NOVA_FILTERS="$NOVA_FILTERS,NUMATopologyFilter"
|
||||
WHITEBOX_AVAILABLE_CINDER_STORAGE=${WHITEBOX_AVAILABLE_CINDER_STORAGE:-24}
|
||||
SMT_HOSTS=${SMT_HOSTS:-''}
|
||||
WHITEBOX_FILE_BACKED_MEMORY_SIZE=${WHITEBOX_FILE_BACKED_MEMORY_SIZE:-8192}
|
||||
WHITEBOX_CPU_MODEL=${WHITEBOX_CPU_MODEL:-kvm64}
|
||||
WHITEBOX_CPU_MODEL_EXTRA_FLAGS=${WHITEBOX_CPU_MODEL_EXTRA_FLAGS:-ssse3}
|
||||
WHITEBOX_RX_QUEUE_SIZE=${WHITEBOX_RX_QUEUE_SIZE:-1024}
|
||||
|
||||
WHITEBOX_NOVA_COMPUTE_CONFIG_PATH=${WHITEBOX_NOVA_COMPUTE_CONFIG_PATH:-/etc/nova/nova-cpu.conf}
|
||||
|
@ -33,7 +33,6 @@ class CpuModelExtraFlagsTest(base.BaseWhiteboxComputeTest):
|
||||
def test_cpu_model_extra_flags(self):
|
||||
server = self.create_test_server(wait_until="ACTIVE")
|
||||
root = self.get_server_xml(server['id'])
|
||||
|
||||
# Assert that the correct CPU model as well as the proper flags
|
||||
# are correctly defined in the instance XML
|
||||
self.assertEqual(
|
||||
@ -41,6 +40,19 @@ class CpuModelExtraFlagsTest(base.BaseWhiteboxComputeTest):
|
||||
root.find("cpu[@mode='custom']/model").text,
|
||||
'Wrong CPU model defined in instance xml')
|
||||
for flag in CONF.whitebox.cpu_model_extra_flags:
|
||||
self.assertNotEmpty(
|
||||
root.findall('cpu[@mode="custom"]/feature[@name="%s"]' % flag),
|
||||
"Cannot find feature '%s' in the instance xml" % flag)
|
||||
if flag.startswith('-'):
|
||||
self.assertNotEmpty(
|
||||
root.findall(
|
||||
'cpu[@mode="custom"]/'
|
||||
'feature[@name="%s"][@policy="disable"]' %
|
||||
flag.strip('-')),
|
||||
"Disabled feature '%s' not found in the XML" %
|
||||
flag.strip('-'))
|
||||
else:
|
||||
self.assertNotEmpty(
|
||||
root.findall(
|
||||
'cpu[@mode="custom"]/'
|
||||
'feature[@name="%s"][@policy="require"]' %
|
||||
flag.strip('+')),
|
||||
"Required feature '%s' not found in the XML" %
|
||||
flag.strip('+'))
|
||||
|
Loading…
x
Reference in New Issue
Block a user