yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #68978
[Bug 1702454] Re: Transforming the RequestSpec object into legacy dicts doesn't support the requested_destination field
Reviewed: https://review.openstack.org/481116
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=7317afd3201c4f9f21d3f37dab08423dae236b17
Submitter: Zuul
Branch: master
commit 7317afd3201c4f9f21d3f37dab08423dae236b17
Author: Sylvain Bauza <sbauza@xxxxxxxxxx>
Date: Thu Jul 6 17:17:31 2017 +0200
Pass requested_destination in filter_properties
When we added the requested_destination field for the RequestSpec object
in Newton, we forgot to pass it to the legacy dictionary when wanting to
use scheduler methods not yet supporting the NovaObject.
As a consequence, when we were transforming the RequestSpec object into a
tuple of (request_spec, filter_props) dicts and then rehydrating a new
RequestSpec object using those dicts, the newly created object was not
keeping that requested_destination field from the original.
Change-Id: Iba0b88172e9a3bfd4f216dd364d70f7e01c60ee2
Closes-Bug: #1702454
** 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/1702454
Title:
Transforming the RequestSpec object into legacy dicts doesn't support
the requested_destination field
Status in OpenStack Compute (nova):
Fix Released
Status in OpenStack Compute (nova) newton series:
In Progress
Status in OpenStack Compute (nova) ocata series:
In Progress
Status in OpenStack Compute (nova) pike series:
In Progress
Bug description:
We added a new field in the RequestSpec object called
'requested_destination' and we began using it for evacuations by
https://review.openstack.org/#/c/315572/ (Newton)
That object was tranformed into legacy dictionaries (called
"filter_properties" and "request_spec") before being rehydrated for
the rebuild_instance() method in the conductor service. That said,
when transforming, we were forgetting about the
'requested_destination' field in the object so that when we were
calling the scheduler, we were never using that field.
That bug was fixed implicitly by
https://review.openstack.org/#/c/469037/ which is now merged in
master, but the issue is still there in stable branches, and if you
need to use the legacy methods, you'll not have it.
As a consequence, the feature to pass a destination for evacuation is
not working in Newton and Ocata. Fortunately, given we didn't
transformed the object into dicts before calling the scheduler for
live-migrations, it does work for that action.
A proper resolution would be to make sure that we pass the
requested_destination field into 'filter_properties' so that when
transforming again into an object, we set again the field.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1702454/+subscriptions
References