allow upgrade of pre-victoria InstanceNUMACells

This change ensures that if we are upgrading a
InstanceNUMACell object created before victoria
<1.5 that we properly set pcpuset=set() when
loading the object form the db.

This is requried to support instances with a numa
topology that do not use cpu pinning.

Depends-On: https://review.opendev.org/c/openstack/python-openstackclient/+/929236
Closes-Bug: #2080556
Change-Id: Iea55aabe71c250d8c8e93c61421450b909a7fa3d
This commit is contained in:
Sean Mooney
2024-09-12 21:05:54 +01:00
parent 521db4a435
commit 2a870323c3
3 changed files with 33 additions and 17 deletions
@@ -0,0 +1,16 @@
---
upgrade:
- |
In the victoria release, the instance_numa_topology object
was extended to enabled mix cpus (pinned and unpinned cpus)
in the same instance. This change added a new field pcpuset
to the instance_numa_topology object. While the change included
object conversion code to handle the upgrade, it did not account
for instances that have a numa_topology but were not pinned.
i.e. a flavor with hw:mem_page_size or hw:numa_nodes set but
without hw:cpu_policy set to dedicated. As a result, instances
created between liberty and victoria releases with such a flavor
cannot be started after upgrade to victoria. This has now
been fixed. instances created post victoria are not affected by
this issue. see: https://bugs.launchpad.net/nova/+bug/2080556
for more details.