Reviewed: https://review.openstack.org/453938 Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=c2ff276c841934ff147aab836a4bd099297fb46b Submitter: Jenkins Branch: master
commit c2ff276c841934ff147aab836a4bd099297fb46b Author: Steven Webster <[email protected]> Date: Mon Mar 27 12:18:23 2017 -0400 Fix port update exception when unshelving an instance with PCI devices It is possible that _update_port_binding_for_instance() is called without a migration object, such as when a user unshelves an instance. If the instance has a port(s) with a PCI device binding, the current logic extracts a pci mapping from old to new devices from the migration object and migration context. If a 'new' device is not found in the PCI mapping, an exception is thrown. In the case of an unshelve, there is no migration object (or migration context), and as such we have an empty pci mapping. This fix will only check for a new device if we have a migration object. Closes-Bug: 1677621 Change-Id: I578153ca862753ef5b8041ee3853d3c7b2e2be30 ** 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/1677621 Title: Port update exception on nova unshelve for instance with PCI devices Status in OpenStack Compute (nova): Fix Released Bug description: Description =========== If an instance with PCI devices (SRIOV, or passthrough) is shelved, a port update exception will be seen and the instance will go into Error state when it is unshelved. The nova API exception message is similar to: "Unable to correlate PCI slot 0000:0d:00.1" Steps to reproduce ================== 1. Launch an instance with SRIOV or PCI passthrough port bindings. 2. nova shelve <instance_uuid> -- wait for nova instance status SHELVED_OFFLOADED -- 3. nova unshelve <instance_uuid> Expected result =============== If there are resources available, the instance should be able to claim PCI devices and successfully (re)launch. Actual result ============= - Instance in error state - Exception in nova api logs. Environment =========== 1. Exact version of OpenStack you are running: Ocata, devstack 2. Which hypervisor did you use? Libvirt + KVM 2. Which storage type did you use? LVM 3. Which networking type did you use? Neutron, OVS To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1677621/+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

