nova/releasenotes/notes/cpu-resources-d4e6a0c12681f...

49 lines
2.7 KiB
YAML

---
features:
- |
Compute nodes using the libvirt driver can now report ``PCPU`` inventory.
This is consumed by instances with dedicated (pinned) CPUs. This can be
configured using the ``[compute] cpu_dedicated_set`` config option. The
scheduler will automatically translate the legacy ``hw:cpu_policy`` flavor
extra spec or ``hw_cpu_policy`` image metadata property to ``PCPU``
requests, falling back to ``VCPU`` requests only if no ``PCPU`` candidates
are found. Refer to the help text of the ``[compute] cpu_dedicated_set``,
``[compute] cpu_shared_set`` and ``vcpu_pin_set`` config options for more
information.
- |
Compute nodes using the libvirt driver will now report the
``HW_CPU_HYPERTHREADING`` trait if the host has hyperthreading. The
scheduler will automatically translate the legacy ``hw:cpu_thread_policy``
flavor extra spec or ``hw_cpu_thread_policy`` image metadata property to
either require or forbid this trait.
- |
A new configuration option, ``[compute] cpu_dedicated_set``, has been
added. This can be used to configure the host CPUs that should be used for
``PCPU`` inventory.
- |
A new configuration option, ``[workarounds] disable_fallback_pcpu_query``,
has been added. When creating or moving pinned instances, the scheduler will
attempt to provide a ``PCPU``-based allocation, but can also fallback to a legacy
``VCPU``-based allocation. This fallback behavior is enabled by
default to ensure it is possible to upgrade without having to modify compute
node configuration but it results in an additional request for allocation
candidates from placement. This can have a slight performance impact and is
unnecessary on new or upgraded deployments where the compute nodes have been
correctly configured to report ``PCPU`` inventory. The ``[workarounds]
disable_fallback_pcpu_query`` config option can be used to disable this
fallback allocation candidate request, meaning only ``PCPU``-based
allocation candidates will be retrieved.
deprecations:
- |
The ``vcpu_pin_set`` configuration option has been deprecated. You should
migrate host CPU configuration to the ``[compute] cpu_dedicated_set`` or
``[compute] cpu_shared_set`` config options, or both. Refer to the help
text of these config options for more information.
upgrade:
- |
Previously, if ``vcpu_pin_set`` was not defined, the libvirt driver would
count all available host CPUs when calculating ``VCPU`` inventory,
regardless of whether those CPUs were online or not. The driver will now
only report the total number of online CPUs. This should result in fewer
build failures on hosts with offlined CPUs.