SR-IOV: PCI devices aren't reconfigured when deallocated

Bug #1639901 reported by Brent Eagles
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Medium
Brent Eagles

Bug Description

Note that this only affects SR-IOV configuration support and the physical function use case!

When an SR-IOV physical function is allocated to a VM, the PF and it's associated resources (e.g. virtual functions) "disappear" from the hypervisor host. When the VM is destroyed, the physical function may become available again but the scripts created by the current SR-IOV support are not run again. The result is that the virtual functions will no longer be available.

The implementation for configuring the virtual functions should be extended to execute when the physical functions are released back to the system.

NOTE: the SR-IOV hosts should have the NICs for the physical functions in the network configuration templates with HOTPLUG=yes. AFAICT, os-net-config doesn't support this at the moment.

Revision history for this message
Brent Eagles (beagles) wrote :

I've assigned an importance of "medium" because doesn't affect tripleo itself or the majority of the users, but it is a pretty big deal for for NFV customers using SR-IOV.

Changed in tripleo:
status: New → Confirmed
importance: Undecided → Medium
assignee: nobody → Brent Eagles (beagles)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (master)

Fix proposed to branch: master
Review: https://review.openstack.org/394604

Changed in tripleo:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (master)

Reviewed: https://review.openstack.org/394604
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=9a79bdab86224e678414fd98ba2e888836083e79
Submitter: Jenkins
Branch: master

commit 9a79bdab86224e678414fd98ba2e888836083e79
Author: Brent Eagles <email address hidden>
Date: Mon Nov 7 16:22:31 2016 -0330

    Call VF configuration from udev rules

    When a physical function that was allocated to a guest is released back
    the system, it is not automatically brought "up" and the VF
    configuration is not restored. This patch creates a file containing some
    udev rules to force the VF configuration.

    Note: we may find that the ifup-local script is no longer required but
    this will require further testing.

    Change-Id: Ie6e78730aa0a748b3b5100ab7c7bc007d8ab176d
    Partial-Bug: #1639901

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/423312

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (stable/newton)

Reviewed: https://review.openstack.org/423312
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=a3b0c4f536bf50fc7ff72a8f20aa333938d9dd3d
Submitter: Jenkins
Branch: stable/newton

commit a3b0c4f536bf50fc7ff72a8f20aa333938d9dd3d
Author: Brent Eagles <email address hidden>
Date: Mon Nov 7 16:22:31 2016 -0330

    Call VF configuration from udev rules

    When a physical function that was allocated to a guest is released back
    the system, it is not automatically brought "up" and the VF
    configuration is not restored. This patch creates a file containing some
    udev rules to force the VF configuration.

    Note: we may find that the ifup-local script is no longer required but
    this will require further testing.

    Change-Id: Ie6e78730aa0a748b3b5100ab7c7bc007d8ab176d
    Partial-Bug: #1639901
    (cherry picked from commit 9a79bdab86224e678414fd98ba2e888836083e79)

tags: added: in-stable-newton
Revision history for this message
Brent Eagles (beagles) wrote :

Relevant patches were merged but didn't automatically update launchpad.

Changed in tripleo:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.