← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2043707] [NEW] Cannot separately enable cpu_power_management and cpu pinning

 

Public bug reported:

If [libvirt]cpu_power_management is set to true but
[compute]cpu_dedicated_set is empty nova-compute is fails to start with:

2023-11-16 10:42:42.444 2 ERROR oslo_service.service [None req-56dbf76c-524c-455d-9c64-d3474509e8d0 - - - - - -] Error starting thread.: nova.exception.InvalidConfiguration: '[compute]/cpu_dedicated_set' is mandatory to be set if '[libvirt]/cpu_power_management' is set.Please provide the CPUs that can be pinned or don't use the power management if you only use shared CPUs.
2023-11-16 10:42:42.444 2 ERROR oslo_service.service Traceback (most recent call last):
2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/oslo_service/service.py", line 806, in run_service
2023-11-16 10:42:42.444 2 ERROR oslo_service.service     service.start()
2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/service.py", line 162, in start
2023-11-16 10:42:42.444 2 ERROR oslo_service.service     self.manager.init_host(self.service_ref)
2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 1608, in init_host
2023-11-16 10:42:42.444 2 ERROR oslo_service.service     self.driver.init_host(host=self.host)
2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 831, in init_host
2023-11-16 10:42:42.444 2 ERROR oslo_service.service     libvirt_cpu.power_down_all_dedicated_cpus()
2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py", line 122, in power_down_all_dedicated_cpus
2023-11-16 10:42:42.444 2 ERROR oslo_service.service     raise exception.InvalidConfiguration(msg)
2023-11-16 10:42:42.444 2 ERROR oslo_service.service nova.exception.InvalidConfiguration: '[compute]/cpu_dedicated_set' is mandatory to be set if '[libvirt]/cpu_power_management' is set.Please provide the CPUs that can be pinned or don't use the power management if you only use shared CPUs.


This is not a functional bug. But it is a UX bug. I would like to independently enable the CPU power management feature from configuring pinned CPU cores even if it means the no CPU cores is power managed while cpu_dedicated_set is empty.

Imagine a deployment engine that would like to enable
cpu_power_management automatically by default. But it cannot defined the
list of pinned CPU cores at the same time as that his hypervisor HW
dependent. The current strict validation prevents enabling
cpu_power_management before defining the list of PCPUs.

The actual power management logic can gracefully handle the case when
zero PCPUs are defined simply by managing all the PCPUs i.e. managing no
PCPUs in this case.

** Affects: nova
     Importance: Undecided
         Status: New


** Tags: libvirt

** Tags added: libvirt

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2043707

Title:
  Cannot separately enable cpu_power_management and cpu pinning

Status in OpenStack Compute (nova):
  New

Bug description:
  If [libvirt]cpu_power_management is set to true but
  [compute]cpu_dedicated_set is empty nova-compute is fails to start
  with:

  2023-11-16 10:42:42.444 2 ERROR oslo_service.service [None req-56dbf76c-524c-455d-9c64-d3474509e8d0 - - - - - -] Error starting thread.: nova.exception.InvalidConfiguration: '[compute]/cpu_dedicated_set' is mandatory to be set if '[libvirt]/cpu_power_management' is set.Please provide the CPUs that can be pinned or don't use the power management if you only use shared CPUs.
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service Traceback (most recent call last):
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/oslo_service/service.py", line 806, in run_service
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service     service.start()
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/service.py", line 162, in start
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service     self.manager.init_host(self.service_ref)
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/compute/manager.py", line 1608, in init_host
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service     self.driver.init_host(host=self.host)
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/driver.py", line 831, in init_host
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service     libvirt_cpu.power_down_all_dedicated_cpus()
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service   File "/usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py", line 122, in power_down_all_dedicated_cpus
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service     raise exception.InvalidConfiguration(msg)
  2023-11-16 10:42:42.444 2 ERROR oslo_service.service nova.exception.InvalidConfiguration: '[compute]/cpu_dedicated_set' is mandatory to be set if '[libvirt]/cpu_power_management' is set.Please provide the CPUs that can be pinned or don't use the power management if you only use shared CPUs.

  
  This is not a functional bug. But it is a UX bug. I would like to independently enable the CPU power management feature from configuring pinned CPU cores even if it means the no CPU cores is power managed while cpu_dedicated_set is empty.

  Imagine a deployment engine that would like to enable
  cpu_power_management automatically by default. But it cannot defined
  the list of pinned CPU cores at the same time as that his hypervisor
  HW dependent. The current strict validation prevents enabling
  cpu_power_management before defining the list of PCPUs.

  The actual power management logic can gracefully handle the case when
  zero PCPUs are defined simply by managing all the PCPUs i.e. managing
  no PCPUs in this case.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2043707/+subscriptions



Follow ups