Compute node upgrade fails if SR-IOV PF in use

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

Bug Description

The current host configuration code contains checks that require the SR-IOV PCI device to be available when 'puppet apply' is run. However, if a physical function on a compute node is in use by a VM on upgrade, this PCI device will not actually be visible on the host system - even though the configuration data is valid.

e.g. trace:

    Error: /sys/class/net/p1p1/device/sriov_numvfs doesn't exist. Check if p1p1 is a valid network interface supporting SR-IOV
    Error: /Stage[main]/Tripleo::Host::Sriov/Sriov_vf_config[p1p1:5]/ensure: change from absent to present failed: /sys/class/net/p1p1/device/sriov_numvfs doesn't exist. Check if p1p1 is a valid network interface supporting SR-IOV

Brent Eagles (beagles)
Changed in tripleo:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Brent Eagles (beagles)
milestone: none → pike-3
tags: added: ocata-backport-potential
tags: added: newton-backport-potential
Changed in tripleo:
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to puppet-tripleo (master)

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

commit d71697a419f459b8fa4b748a64ac6580b3a82456
Author: Brent Eagles <email address hidden>
Date: Tue Jun 27 09:55:37 2017 -0230

    Do not fail if PCI device is missing

    Fixes a problem where SR-IOV VF count configuration will fail if a
    physical function is in use by a guest when 'puppet apply' is executed.
    This change substitutes warnings for failures and skips complaints if a
    PCI device is unavailable.

    Note: this patch has the side-effect of allowing the same configuration
    data on hosts that may *not* or *ever* have PCI SR-IOV devices on the
    hardware. Time will tell how evil this is in practice.

    Closes-Bug: #1701284
    Change-Id: I71edc135432ab2193741c37ce977dd11172401e6

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to puppet-tripleo (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/482989

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/483919

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

Reviewed: https://review.openstack.org/482989
Committed: https://git.openstack.org/cgit/openstack/puppet-tripleo/commit/?id=d19597208df880f14c72bb8caa10f40e69b4de8d
Submitter: Jenkins
Branch: stable/ocata

commit d19597208df880f14c72bb8caa10f40e69b4de8d
Author: Brent Eagles <email address hidden>
Date: Tue Jun 27 09:55:37 2017 -0230

    Do not fail if PCI device is missing

    Fixes a problem where SR-IOV VF count configuration will fail if a
    physical function is in use by a guest when 'puppet apply' is executed.
    This change substitutes warnings for failures and skips complaints if a
    PCI device is unavailable.

    Note: this patch has the side-effect of allowing the same configuration
    data on hosts that may *not* or *ever* have PCI SR-IOV devices on the
    hardware. Time will tell how evil this is in practice.

    Closes-Bug: #1701284
    Change-Id: I71edc135432ab2193741c37ce977dd11172401e6
    (cherry picked from commit d71697a419f459b8fa4b748a64ac6580b3a82456)

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

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

commit 7d50cc90f5d54b48593b28700ac519d4e367202b
Author: Brent Eagles <email address hidden>
Date: Tue Jun 27 09:55:37 2017 -0230

    Do not fail if PCI device is missing

    Fixes a problem where SR-IOV VF count configuration will fail if a
    physical function is in use by a guest when 'puppet apply' is executed.
    This change substitutes warnings for failures and skips complaints if a
    PCI device is unavailable.

    Note: this patch has the side-effect of allowing the same configuration
    data on hosts that may *not* or *ever* have PCI SR-IOV devices on the
    hardware. Time will tell how evil this is in practice.

    Closes-Bug: #1701284
    Change-Id: I71edc135432ab2193741c37ce977dd11172401e6
    (cherry picked from commit d71697a419f459b8fa4b748a64ac6580b3a82456)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 7.2.0

This issue was fixed in the openstack/puppet-tripleo 7.2.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 5.6.1

This issue was fixed in the openstack/puppet-tripleo 5.6.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/puppet-tripleo 6.5.1

This issue was fixed in the openstack/puppet-tripleo 6.5.1 release.

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.