Failed cold migration with SR-IOV
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Ludovic Beliveau | ||
Newton |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Cold migration of an instance that has an SR-IOV interface fails to migrate because on migrated compute's nova is trying to use the PCI device/address that has been allocated from the incoming compute. Obviously this is failing since the PCI device is not present on the migrated compute.
See the error "libvirtError: Device 0000:83:10.6 not found: could not access /sys/bus/
Nova should allocate a new PCI device based the hardware configuration of the compute where the instance is being migrated and this PCI device should be use to create the instance XML.
Nova version:
commit 2397d636ff6ea37
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Oct 27 06:30:34 2015 +0000
Imported Translations from Zanata
For more information about this automatic import see:
https:/
Change-Id: I38f537e37972e5
Devstack setup:
* One server configured with controller and compute functions
* Intel 10G port is configured with 8 VFs: $ echo 8 > /sys/bus/
* /etc/nova/
* One server configured with compute function only
* Intel 10G port is configured with 8 VFs: $ echo 8 > /sys/bus/
* /etc/nova/
* Note that it is important for this test that the PCI addresses for the SR-IOV interfaces are different. We want to validate that new PCI devices are claimed/allocated on the incoming compute.
Reproduce steps:
1) Boot an instance with an SR-IOV interface:
$ NETID=`neutron net-list | grep default | awk '{print $2}'`
$ neutron port-create $NETID --binding:vnic-type direct --name p-direct
$ PORTID=`neutron port-list | grep "p-direct" | awk '{print $2}'`
$ nova boot test --image=ubuntu --nic port-id=$PORTID --flavor=m1.small
2) Migrate the instance to the other compute:
$ nova migrate test
Expected result:
The instance is successfully migrated on the other server.
Actual result:
The instance failed to migrate. Instance is stuck in error. See log in attachment for more information.
Changed in nova: | |
assignee: | Ludovic Beliveau (ludovic-beliveau) → Moshe Levi (moshele) |
Changed in nova: | |
assignee: | Moshe Levi (moshele) → nobody |
assignee: | nobody → Ludovic Beliveau (ludovic-beliveau) |
Changed in nova: | |
assignee: | Ludovic Beliveau (ludovic-beliveau) → Moshe Levi (moshele) |
Changed in nova: | |
assignee: | Moshe Levi (moshele) → Ludovic Beliveau (ludovic-beliveau) |
Changed in nova: | |
importance: | Undecided → Medium |
Fix proposed to branch: master /review. openstack. org/242573
Review: https:/