[release-announce] nova 23.1.0 (wallaby)

no-reply at openstack.org no-reply at openstack.org
Thu Oct 7 10:04:08 UTC 2021


We contentedly announce the release of:

nova 23.1.0: Cloud computing fabric controller

This release is part of the wallaby stable release series.

The source is available from:

    https://opendev.org/openstack/nova

Download the package from:

    https://tarballs.openstack.org/nova/

Please report issues through:

    https://bugs.launchpad.net/nova/+bugs

For more details, please see below.

23.1.0
^^^^^^


Upgrade Notes
*************

* 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.


Bug 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.

* Addressed an issue that prevented instances with 1 vcpu using
  multiqueue feature from being created successfully when their
  vif_type is TAP.

* Minimizes a race condition window when using the "ironic" virt
  driver where the data generated for the Resource Tracker may attempt
  to compare potentially stale instance information with the latest
  known baremetal node information. While this doesn't completely
  prevent nor resolve the underlying race condition identified in bug
  1841481 (https://bugs.launchpad.net/nova/+bug/1841481), this change
  allows Nova to have the latest state information, as opposed to
  state information which may be out of date due to the time which it
  may take to retrieve the status from Ironic. This issue was most
  observable on baremetal clusters with several thousand physical
  nodes.

Changes in nova 23.0.2..23.1.0
------------------------------

c958fab901 Avoid modifying the Mock class in test
47dad4836a address open redirect with 3 forward slashes
aa5b8d12bc Fix 1vcpu error with multiqueue and vif_type=tap
9c2f297837 Reduce mocking in test_reject_open_redirect for compat
62a3fa4fff Fix request path to query a resource provider by uuid
df5158bf3f Allow deletion of compute service with no compute nodes
e6cd23c3b4 Reproducer unit test for bug 1860312
58782403cd api: Align availability zone info with forced host
0c36bd28eb [ironic] Minimize window for a resource provider to be lost
c9826ca6eb Fix max cpu topologies with numa affinity
5f994a18b3 Test numa and vcpu topologies bug: #1910466
e045d0115d Allow X-OpenStack-Nova-API-Version header in CORS
2b2434c173 Retry lvm volume and volume group query
9cac2a8822 libvirt: Do not destroy volume secrets during _hard_reboot
f2ba67184d virt: Add destroy_secrets kwarg to destroy and cleanup


Diffstat (except docs and test files)
-------------------------------------

nova/api/openstack/compute/servers.py              |  80 +++++++++
nova/api/openstack/compute/services.py             |  23 ++-
nova/cmd/manage.py                                 |   2 +-
nova/compute/api.py                                |  12 +-
nova/console/websocketproxy.py                     |   7 +-
nova/middleware.py                                 |   8 +-
nova/objects/instance_numa.py                      |   2 +
nova/privsep/fs.py                                 |  15 +-
.../unit/api/openstack/compute/test_servers.py     | 147 +++++++++++++++--
.../unit/api/openstack/compute/test_services.py    |  15 ++
nova/virt/driver.py                                |   8 +-
nova/virt/fake.py                                  |   5 +-
nova/virt/hardware.py                              | 129 +--------------
nova/virt/hyperv/driver.py                         |   5 +-
nova/virt/ironic/driver.py                         |  21 ++-
nova/virt/libvirt/driver.py                        |  39 +++--
nova/virt/libvirt/vif.py                           |   3 +-
nova/virt/vmwareapi/driver.py                      |   5 +-
...vcpu-topologies-with-numa-9a9ceb1b0fc7c33d.yaml |  23 +++
.../notes/bug-1939604-547c729b7741831b.yaml        |   5 +
...e-bug-1841481-race-window-f76912d4985770ad.yaml |  13 ++
30 files changed, 640 insertions(+), 395 deletions(-)







More information about the Release-announce mailing list