Merge "Revert "[pwmgmt]ignore missin governor when cpu_state used""
This commit is contained in:
commit
da918d4b95
@ -243,42 +243,3 @@ class TestAPI(test.NoDBTestCase):
|
||||
api.validate_all_dedicated_cpus()
|
||||
# no assert we want to make sure the validation won't raise if
|
||||
# no dedicated cpus are configured
|
||||
|
||||
@mock.patch.object(core, 'get_governor')
|
||||
@mock.patch.object(core, 'get_online')
|
||||
def test_validate_all_dedicated_cpus_for_cpu_state_no_governor_ignored(
|
||||
self, mock_get_online, mock_get_governor
|
||||
):
|
||||
self.flags(cpu_power_management=True, group='libvirt')
|
||||
self.flags(cpu_dedicated_set='0-2', group='compute')
|
||||
self.flags(cpu_power_management_strategy='cpu_state', group='libvirt')
|
||||
|
||||
mock_get_online.return_value = True
|
||||
mock_get_governor.side_effect = FileNotFoundError(
|
||||
"File /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "
|
||||
"could not be found.")
|
||||
|
||||
api.validate_all_dedicated_cpus()
|
||||
|
||||
self.assertEqual(2, len(mock_get_governor.mock_calls))
|
||||
|
||||
@mock.patch.object(core, 'get_governor')
|
||||
@mock.patch.object(core, 'get_online')
|
||||
def test_validate_all_dedicated_cpus_for_governor_error(
|
||||
self, mock_get_online, mock_get_governor
|
||||
):
|
||||
self.flags(cpu_power_management=True, group='libvirt')
|
||||
self.flags(cpu_dedicated_set='0-2', group='compute')
|
||||
self.flags(cpu_power_management_strategy='governor', group='libvirt')
|
||||
|
||||
mock_get_online.return_value = True
|
||||
mock_get_governor.side_effect = FileNotFoundError(
|
||||
"File /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "
|
||||
"could not be found.")
|
||||
|
||||
ex = self.assertRaises(
|
||||
exception.InvalidConfiguration, api.validate_all_dedicated_cpus)
|
||||
self.assertIn(
|
||||
"[libvirt]cpu_power_management_strategy is 'governor', "
|
||||
"but the host OS does not support governors for CPU0",
|
||||
str(ex))
|
||||
|
@ -143,24 +143,7 @@ def validate_all_dedicated_cpus() -> None:
|
||||
continue
|
||||
pcpu = Core(pcpu)
|
||||
# we need to collect the governors strategy and the CPU states
|
||||
try:
|
||||
governors.add(pcpu.governor)
|
||||
except FileNotFoundError as e:
|
||||
# NOTE(gibi): When
|
||||
# /sys/devices/system/cpu/cpuX/cpufreq/scaling_governor does
|
||||
# not exist it means the host OS does not support any governors.
|
||||
# If cpu_state strategy is requested we can ignore this as
|
||||
# governors will not be used but if governor strategy is requested
|
||||
# we need to report an error and stop as the host is not properly
|
||||
# configured
|
||||
if CONF.libvirt.cpu_power_management_strategy == 'governor':
|
||||
msg = _(
|
||||
"[libvirt]cpu_power_management_strategy is 'governor', "
|
||||
"but the host OS does not support governors for CPU%d"
|
||||
% pcpu.ident
|
||||
)
|
||||
raise exception.InvalidConfiguration(msg) from e
|
||||
|
||||
governors.add(pcpu.governor)
|
||||
cpu_states.add(pcpu.online)
|
||||
if CONF.libvirt.cpu_power_management_strategy == 'cpu_state':
|
||||
# all the cores need to have the same governor strategy
|
||||
|
Loading…
x
Reference in New Issue
Block a user