From 03ef4d6f53843bae9860e5f207453a5e741f3edc Mon Sep 17 00:00:00 2001 From: Balazs Gibizer Date: Tue, 16 Jan 2024 11:09:26 +0100 Subject: [PATCH] Revert "[pwmgmt]ignore missin governor when cpu_state used" This reverts commit ed2ac71a46b6caf620ddc08219ebae31f5af197d. This is unnecessary as 2c4421568ea62e66257b55c08092de3e0303fb0a already fixed this bug on master Change-Id: Id2c253a6e223bd5ba22512d9e5a40a9d12680da2 --- nova/tests/unit/virt/libvirt/cpu/test_api.py | 39 -------------------- nova/virt/libvirt/cpu/api.py | 19 +--------- 2 files changed, 1 insertion(+), 57 deletions(-) diff --git a/nova/tests/unit/virt/libvirt/cpu/test_api.py b/nova/tests/unit/virt/libvirt/cpu/test_api.py index 11900592b60e..890f4566c472 100644 --- a/nova/tests/unit/virt/libvirt/cpu/test_api.py +++ b/nova/tests/unit/virt/libvirt/cpu/test_api.py @@ -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)) diff --git a/nova/virt/libvirt/cpu/api.py b/nova/virt/libvirt/cpu/api.py index 17ee96496922..472518843998 100644 --- a/nova/virt/libvirt/cpu/api.py +++ b/nova/virt/libvirt/cpu/api.py @@ -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