Comment 6 for bug 1885229

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/738300
Committed: https://git.openstack.org/cgit/starlingx/config/commit/?id=ff1be48bf0bc22f75932af5be50b8d395275d4ae
Submitter: Zuul
Branch: master

commit ff1be48bf0bc22f75932af5be50b8d395275d4ae
Author: Steven Webster <email address hidden>
Date: Fri Jun 26 22:57:35 2020 -0400

    Fix N3000 FPGA SR-IOV config for split NICs

    This commit fixes an issue that can occur if a user
    creates an SR-IOV interface of type VF with a parent
    SR-IOV interface that belongs to a NIC on an Intel
    N3000 FPGA.

    The FPGA is reset on every worker node bootup (if present),
    clearing all SR-IOV config. Because of this, the current
    puppet code waits for the reset to be completed before
    restarting the interface via the sysconfig network interface
    scripts. Because the VF interface is a separate hieradata
    entry than the parent interface, this can cause a race
    condition where the device is re-initialized after one of
    the child/parent interfaces has already bound a driver to the
    interface.

    Since the whole point of the VF interfaces is to 'split'
    a NIC to allow multiple SR-IOV VF drivers on one physical NIC,
    this commit makes a single hieradata entry for the parent
    interface, rather than individual entries for the parent and
    child(ren). The information to bind the child interfaces
    appropriately is embedded in the vf_config dict of the parent
    interface.

    Change-Id: Iad34de8ae1b913a1c188e5473e0c92cdf8007ba2
    Partial-Bug: #1885229
    Signed-off-by: Steven Webster <email address hidden>