Bug 1908724

Summary: [SR-IOV] [i40e] After setting SR-IOV number of VFs, nmstate reports success before VFs links are created in kernel
Product: Red Hat Enterprise Linux 8 Reporter: Michael Burman <mburman>
Component: nmstateAssignee: Gris Ge <fge>
Status: CLOSED ERRATA QA Contact: Mingyu Shi <mshi>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 8.4CC: amusil, dholler, ferferna, fge, jiji, jishi, msheena, network-qe, till
Target Milestone: rcKeywords: AutomationBlocker, TestBlocker, Triaged, ZStream
Target Release: 8.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: nmstate-1.0.1-0.1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1911642 (view as bug list) Environment:
Last Closed: 2021-05-18 15:18:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1911642    
Attachments:
Description Flags
verified.log none

Description Michael Burman 2020-12-17 12:40:08 UTC
Description of problem:
[SR-IOV] [i40e] After setting sriov number of vfs, nmstate reports success before vfs links are created in kernel

Version-Release number of selected component (if applicable):
nmstate-0.3.4-14.el8_3.noarch

How reproducible:
100% on 'i40e' driver hosts

Steps to Reproduce:
1. Enable VFs on a i40e driver server

Actual results:
nmstate report success too early, much early before it is visible on the kernel. 
This way RHV missing the refresh caps event and the correct number of VFS is not visible in the RHV admin. This will lead to bad leftovers on RHV side and this is currently totally blocking the entire SR-IOV testing on a 'i40e' driver hosts.
Looks like i40e cards response a bit slower than a 'igb' or igbx driver.

Expected results:
nmstate should report success only after all the VFs are created and visible on the kernel

Additional info:
1. Reproduced 100% on a i40e driver hosts, seems they a bit slower than igb drivers.
2. This is totally blocking the entire SR-IOV testing on our i40e driver environments. Pls try to resolve ASAP. 
3. If you will need a i40e driver host, feel free to contact me.

Comment 4 Michael Burman 2020-12-17 12:41:46 UTC
This is the nmstate reproducer(without RHV):

    #!/bin/bash -xe
     
    # This must be i40e driver!
    SRIOV=eth0
     
     
    cat << EOF > sriov.yaml
    ---
    interfaces:
    - name: $SRIOV
      state: up
      ethernet:
        sr-iov:
          total-vfs: 2
          vfs:
          - id: 0
          - id: 1
    EOF
     
    nmstatectl set sriov.yaml && nmstatectl show | grep "$SRIOV"
    nmstatectl set sriov.yaml  && sleep 2 && nmstatectl show | grep "$SRIOV"

Comment 6 Gris Ge 2020-12-18 01:57:39 UTC
Thanks for the logs. I will take a look.

Comment 9 Gris Ge 2020-12-30 08:04:19 UTC
Patch posted to https://github.com/nmstate/nmstate/pull/1453

Once copr repo created there. Please test it.

Comment 12 Michael Burman 2020-12-30 09:08:00 UTC
(In reply to Gris Ge from comment #9)
> Patch posted to https://github.com/nmstate/nmstate/pull/1453
> 
> Once copr repo created there. Please test it.

Hi Gris, the fix looks good!
Tested nmstate-1.0.1-0.20201230080835942541.pr1453.11.g626b426.el8.noarch 
It fixes the issue on 'i40e' driver hosts and everything works as expected with this patch.

Comment 17 Mingyu Shi 2021-01-06 08:29:13 UTC
Verified with versions:
nmstate-1.0.1-0.1.el8.noarch
nispor-1.0.1-2.el8.x86_64
NetworkManager-1.30.0-0.5.el8.x86_64

Comment 18 Mingyu Shi 2021-01-06 08:31:51 UTC
Created attachment 1744813 [details]
verified.log

Comment 20 errata-xmlrpc 2021-05-18 15:18:22 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (nmstate bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1748