yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #82535
[Bug 1868033] Re: Booting instance with pci_device fails during rocky->stein live upgrade
Reviewed: https://review.opendev.org/721667
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=d3ca7356860d64555eef6f5138501cb38f50ecc8
Submitter: Zuul
Branch: master
commit d3ca7356860d64555eef6f5138501cb38f50ecc8
Author: Dan Smith <dansmith@xxxxxxxxxx>
Date: Tue Apr 21 09:07:32 2020 -0700
Remove stale nested backport from InstancePCIRequests
Sometime in 2015, we removed the hard-coded obj_relationships mapping
from parent objects which facilitated semi-automated child version
backports. This was replaced by a manifest-of-versions mechanism
where the client reports all the supported objects and versions
during a backport request to conductor. The InstancePCIRequests object
isn't technically an ObjectListBase, despite acting like one, and thus
wasn't using the obj_relationships. Because of this, it was doing
its own backporting of its child object, which was not removed in
the culling of the static mechanism. Because we now no longer need to
worry about sub-object backport chaining, when version 1.2 was added,
no backport rule was added, and since the object does not call the
base class' generic routine, proper backporting of the child object
was not happening.
All we need to do is remove the override to allow the base
infrastructure to do the work.
Change-Id: Id610a24c066707de5ddc0507e7ef26c421ba366c
Closes-Bug: #1868033
** 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/1868033
Title:
Booting instance with pci_device fails during rocky->stein live
upgrade
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Environment:
Stein nova-conductor having set upgrade_levels to rocky
Rocky nova-compute
Boot an instance with a flavour that has a pci_device
Error:
Failed to publish message to topic 'nova': maximum recursion depth
exceeded: RuntimeError: maximum recursion depth exceeded
Tracked this down it it continually trying to backport the InstancePCIRequests:
It gets as arguments:
objinst={u'nova_object.version': u'1.1', u'nova_object.name': u'InstancePCIRequests', u'nova_object.data': {u'instance_uuid': u'08212b12-8fa8-42d9-8d3e-52ed60a64135', u'requests': [{u'nova_object.version': u'1.3', u'nova_object.name': u'InstancePCIRequest', u'nova_object.data': {u'count': 1, u'is_new': False, u'numa_policy': None, u'request_id': None, u'requester_id': None, u'alias_name': u'V100-32G', u'spec': [{u'vendor_id': u'10de', u'product_id': u'1db6'}]}, u'nova_object.namespace': u'nova'}]}, u'nova_object.namespace': u'nova'},
object_versions={u'InstancePCIRequests': '1.1', 'InstancePCIRequest':
'1.2'}
It fails because it doesn't backport the individual InstancePCIRequest inside the InstancePCIRequests object and so keeps trying.
Error it shows is: IncompatibleObjectVersion: Version 1.3 of
InstancePCIRequest is not supported, supported version is 1.2
I have fixed this in our setup by altering obj_make_compatible to
downgrade the individual requests to version 1.2 which seems to work
and all is good
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1868033/+subscriptions
References