yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #70499
[Bug 1703629] Re: Evacuation fails for instances with PCI devices due to missing migration
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 <steven.webster@xxxxxxxxxxxxx>
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
References