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 <sba...@redhat.com> 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 -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp