24 lines
1.2 KiB
YAML
24 lines
1.2 KiB
YAML
---
|
|
fixes:
|
|
- |
|
|
The nova libvirt driver supports two independent features, virtual CPU
|
|
topologies and virtual NUMA topologies. Previously, when
|
|
``hw:cpu_max_sockets``, ``hw:cpu_max_cores`` and ``hw:cpu_max_threads``
|
|
were specified for pinned instances (``hw:cpu_policy=dedicated``)
|
|
without explicit ``hw:cpu_sockets``, ``hw:cpu_cores``, ``hw:cpu_threads``
|
|
extra specs or their image equivalent, nova failed to generate a valid
|
|
virtual CPU topology. This has now been fixed and it is now possible to
|
|
use max CPU constraints with pinned instances.
|
|
e.g. a combination of ``hw:numa_nodes=2``, ``hw:cpu_max_sockets=2``,
|
|
``hw:cpu_max_cores=2``, ``hw:cpu_max_threads=8`` and
|
|
``hw:cpu_policy=dedicated`` can now generate a valid topology using
|
|
a flavor with 8 vCPUs.
|
|
upgrade:
|
|
- |
|
|
As part of the fix for bug 1910466, code that attempted to optimize VM CPU
|
|
thread assignment based on the host CPU topology as it was determined
|
|
to be buggy, undocumented and rejected valid virtual CPU topologies while
|
|
also producing different behavior when CPU pinning was enabled vs disabled.
|
|
The optimization may be reintroduced in the future with a more generic
|
|
implementation that works for both pinned and unpinned VMs.
|