vmutils: Adds vnuma_enabled argument to update_vm
A VM can have its virtual NUMA spanning turned on and off.
Partial-Bug: #1663238
Change-Id: Iec9b501880098e69be652bf6c2a90a9864e52a9c
(cherry picked from commit d440793e0b
)
This commit is contained in:
parent
3c7d3b732d
commit
d1803fa4ce
|
@ -294,6 +294,7 @@ class VMUtilsTestCase(test_base.OsWinBaseTestCase):
|
|||
mock.sentinel.vm_name, mock.sentinel.state)
|
||||
|
||||
@ddt.data(
|
||||
{'vnuma_enabled': mock.sentinel.vnuma_enabled},
|
||||
{'configuration_root_dir': mock.sentinel.configuration_root_dir},
|
||||
{'host_shutdown_action': mock.sentinel.shutdown_action},
|
||||
{})
|
||||
|
@ -305,14 +306,15 @@ class VMUtilsTestCase(test_base.OsWinBaseTestCase):
|
|||
def test_update_vm(self, mock_lookup_vm_check, mock_set_mem,
|
||||
mock_set_vcpus, mock_modify_virtual_system,
|
||||
host_shutdown_action=None,
|
||||
configuration_root_dir=None):
|
||||
configuration_root_dir=None, vnuma_enabled=None):
|
||||
mock_vmsettings = mock_lookup_vm_check.return_value
|
||||
self._vmutils.update_vm(
|
||||
mock.sentinel.vm_name, mock.sentinel.memory_mb,
|
||||
mock.sentinel.memory_per_numa, mock.sentinel.vcpus_num,
|
||||
mock.sentinel.vcpus_per_numa, mock.sentinel.limit_cpu_features,
|
||||
mock.sentinel.dynamic_mem_ratio, configuration_root_dir,
|
||||
host_shutdown_action=host_shutdown_action)
|
||||
host_shutdown_action=host_shutdown_action,
|
||||
vnuma_enabled=vnuma_enabled)
|
||||
|
||||
mock_lookup_vm_check.assert_called_once_with(mock.sentinel.vm_name)
|
||||
mock_set_mem.assert_called_once_with(
|
||||
|
@ -336,7 +338,10 @@ class VMUtilsTestCase(test_base.OsWinBaseTestCase):
|
|||
if host_shutdown_action:
|
||||
self.assertEqual(host_shutdown_action,
|
||||
mock_vmsettings.AutomaticShutdownAction)
|
||||
if configuration_root_dir or host_shutdown_action:
|
||||
if vnuma_enabled:
|
||||
self.assertEqual(vnuma_enabled, mock_vmsettings.VirtualNumaEnabled)
|
||||
|
||||
if configuration_root_dir or host_shutdown_action or vnuma_enabled:
|
||||
mock_modify_virtual_system.assert_called_once_with(
|
||||
mock_vmsettings)
|
||||
else:
|
||||
|
|
|
@ -286,7 +286,7 @@ class VMUtils(baseutils.BaseUtilsVirt):
|
|||
def update_vm(self, vm_name, memory_mb, memory_per_numa_node, vcpus_num,
|
||||
vcpus_per_numa_node, limit_cpu_features, dynamic_mem_ratio,
|
||||
configuration_root_dir=None, snapshot_dir=None,
|
||||
host_shutdown_action=None,
|
||||
host_shutdown_action=None, vnuma_enabled=None,
|
||||
is_planned_vm=False):
|
||||
vmsetting = self._lookup_vm_check(vm_name)
|
||||
|
||||
|
@ -300,13 +300,17 @@ class VMUtils(baseutils.BaseUtilsVirt):
|
|||
vmsetting.SnapshotDataRoot = configuration_root_dir
|
||||
vmsetting.SuspendDataRoot = configuration_root_dir
|
||||
vmsetting.SwapFileDataRoot = configuration_root_dir
|
||||
if vnuma_enabled is not None:
|
||||
vmsetting.VirtualNumaEnabled = vnuma_enabled
|
||||
|
||||
self._set_vm_memory(vmsetting, memory_mb, memory_per_numa_node,
|
||||
dynamic_mem_ratio)
|
||||
self._set_vm_vcpus(vmsetting, vcpus_num, vcpus_per_numa_node,
|
||||
limit_cpu_features)
|
||||
|
||||
update_needed = configuration_root_dir or host_shutdown_action
|
||||
update_needed = (configuration_root_dir or host_shutdown_action or
|
||||
vnuma_enabled is not None)
|
||||
|
||||
if update_needed:
|
||||
self._modify_virtual_system(vmsetting)
|
||||
|
||||
|
|
Loading…
Reference in New Issue