Reviewed: https://review.openstack.org/484381 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=b930336854bffec1bb81b6d67079a4df59e0af19 Submitter: Zuul Branch: master
commit b930336854bffec1bb81b6d67079a4df59e0af19 Author: Steven Webster <[email protected]> Date: Mon Jun 12 17:10:03 2017 -0400 Fix instance evacuation with PCI devices update_port_binding_for_instance() now checks that a valid migration object exists as a parameter before any mapping between old/new PCI devices can occur. A migration should be present in the case of a cold migration, resize, or evacuation. An evacuation (being a special case of a rebuild) however, will not pass a migration to update_port_binding_for_instance, as it is called directly from setup_instance_network(). This calling function does not currently take a migration parameter, even though one will certainly exist for an evacuation. This commit adds an optional migration parameter to setup_instance_network_on_host() and passes any migration object to the port update routine. Closes-Bug: #1703629 Related-Bug: #1677621 Related-Bug: #1630698 Change-Id: I4e394c8d275995eac4b049a7b1329ea90f2394be ** 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/1703629 Title: Evacuation fails for instances with PCI devices due to missing migration Status in OpenStack Compute (nova): Fix Released Bug description: Description =========== The fix for bug https://bugs.launchpad.net/nova/+bug/1677621 enforced a requirement for a migration object to be present in the call to update_port_binding_for_instance() in order to do any mapping from old PCI devices to new PCI devices when an instance is migrated/resized/evacuated. During an evacuation, a migration is created, but never passed down to update_port_binding_for_instance(). This can cause an instance to be spawned on the new host with an incorrect (PCI) port binding. This can happen even with the proposed fix to related bug #1630698. Steps to reproduce ================== Two node setup - Launch an instance with PCI-PT or SR-IOV port bindings - Stop nova-compute on the destination host - nova evacuate <instance> Expected result =============== The instance should migrate to a new host (provided resources are available) with an updated port binding using PCI device(s) on the new host. Actual result ============= Instance launched using port bindings from the old host. Environment =========== 2. Which hypervisor did you use? libvirt 3. Which networking type did you use? - Affects neutron with openvswitch To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1703629/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : [email protected] Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp

