Enable cpus when an instance is spawning

By this patch, we now automatically power down or up cores
when an instance is either stopped or started.

Also, by default, we now powersave or offline dedicated cores when
starting the compute service.

Implements: blueprint libvirt-cpu-state-mgmt
Change-Id: Id645fd1ba909683af903f3b8f11c7f06db3401cb
This commit is contained in:
Sylvain Bauza
2022-12-20 19:53:36 +01:00
parent 96f9518096
commit 0807b7ae9a
9 changed files with 625 additions and 0 deletions
@@ -0,0 +1,18 @@
---
features:
- |
This is now possible to configure nova-compute services using libvirt driver
by setting ``[libvirt]cpu_power_management`` to ``True`` in order to let the
service to powering down or up physical CPUs depending on whether those CPUs
are pinned or not to instances. In order on to support this feature, the
compute service needs to be set with ``[compute]cpu_dedicated_set``. If so,
all the related CPUs will be powering down until they are used by an
instance where the related pinned CPU will be powering up just before
starting the guest. If ``[compute]cpu_dedicated_set`` isn't set, then the
compute service will refuse to start.
By default the power strategy will offline CPUs when powering down and
online the CPUs on powering up but another strategy is possible by using
``[libvirt]cpu_power_management_strategy=governor`` which will rather modify
the related CPU governor using ``[libvirt]cpu_power_governor_low`` and
``[libvirt]cpu_power_governor_high`` configuration values (respective
defaults being ``powersave`` and ``performance``)