yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #94603
[Bug 2080556] Re: old nova instances cant be started on post victoria deployments
Reviewed: https://review.opendev.org/c/openstack/nova/+/929187
Committed: https://opendev.org/openstack/nova/commit/2a870323c3d44d2056b326c184c435a484513532
Submitter: "Zuul (22348)"
Branch: master
commit 2a870323c3d44d2056b326c184c435a484513532
Author: Sean Mooney <work@xxxxxxxxxxxxxxx>
Date: Thu Sep 12 21:05:54 2024 +0100
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
** Changed in: nova
Status: In Progress => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2080556
Title:
old nova instances cant be started on post victoria deployments
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Downstream we had an interesting but report
https://bugzilla.redhat.com/show_bug.cgi?id=2311875
Instances created after liberty but before victoria
that request a numa topology but do not have CPU pinning
cannot be started on post victoria nova.
as part of the
https://specs.openstack.org/openstack/nova-specs/specs/train/implemented/cpu-resources.html
spec we started tracking cpus as PCVU and VCPU resource classes but since a given instance
would either have pinned cpus or floating cpus no changes too the instance numa topology object
were required.
with the introduction of mixed cpus in a single instnace
https://specs.openstack.org/openstack/nova-
specs/specs/victoria/implemented/use-pcpu-vcpu-in-one-instance.html
the instnace numa topology object was extended with a new pcpuset
field.
as part of that work the _migrate_legacy_object function was extended to default pcpuset to an empty set
https://github.com/openstack/nova/commit/867d4471013bf6a70cd3e9e809daf80ea358df92#diff-ed76deb872002cf64931c6d3f2d5967396240dddcb93da85f11886afc7dc4333R212
for numa topologies that predate ovo
and
an new _migrate_legacy_dedicated_instance_cpuset function was added to
migrate existing pinned instances and instnace with ovo in the db.
what we missed in the review is that unpinned guests should have had the cell.pcpuset set to the empty set
here
https://github.com/openstack/nova/commit/867d4471013bf6a70cd3e9e809daf80ea358df92#diff-ed76deb872002cf64931c6d3f2d5967396240dddcb93da85f11886afc7dc4333R178
The new filed is not nullable and is not present in the existing json serialised object
as a result accessing cell.pcpuset on object returned form the db will raise a NotImplementedError because it is unset if the VM was created between liberty and victoria.
this only applies to non-pinned vms with a numa topology i.e.
hw:mem_page_size=<anything> or hw:numa_nodes=<anything>
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2080556/+subscriptions
References