Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-58935

Failed to create VF and modify VF interface in one transaction

    • Yes
    • Important
    • rhel-sst-network-management
    • ssg_networking
    • 5
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • Hide

      Given a system administrator initiates a VF creation and updates in one Nmstate transaction,

      When the command is applied,

      Then the VFs should be created and modified as specified without requiring separate actions.

      Definition of Done:

      • The implementation meets the acceptance criteria
      • Integration tests are written and pass
      • The code is part of a downstream build attached to an errata
      Show
      Given a system administrator initiates a VF creation and updates in one Nmstate transaction, When the command is applied, Then the VFs should be created and modified as specified without requiring separate actions. Definition of Done: The implementation meets the acceptance criteria Integration tests are written and pass The code is part of a downstream build attached to an errata
    • None
    • None
    • None

      What were you trying to do that didn't work?

      A regression of https://bugzilla.redhat.com/show_bug.cgi?id=2166580 and https://bugzilla.redhat.com/show_bug.cgi?id=2160416

      Which also impactes the use case of https://bugzilla.redhat.com/show_bug.cgi?id=2117148

      What is the impact of this issue to you?

      Please provide the package NVR for which the bug is seen:

      nmstate-2.2.35-1.el9.x86_64
      NetworkManager-1.48.8-1.el9.x86_64

      How reproducible is this bug?:

      100%

      Steps to reproduce

      Find an interface that supports SR-IOV, in here take `eno2` as an example:

      echo "
      interfaces:
      - name: eno2
        type: ethernet
        state: up
        mtu: 2000
        ethernet:
          sr-iov:
            total-vfs: 2
      - name: eno2v0
        state: up
        type: ethernet
        mtu: 5000
        ipv4:
          enabled: true
          dhcp: true
        ipv6:
          enabled: true
          dhcp: true
          autoconf: true
      - name: sriov:eno2:1
        state: up
        type: ethernet
        mtu: 6000
        ipv4:
          enabled: true
          dhcp: true
        ipv6:
          enabled: true
          dhcp: true
          autoconf: true
      " | nmstatectl apply
      

      Expected results

      Two VFs are created and have the states as the desired.

      Actual results

      [18:15:56@wsfd-netdev72 sriov]0# nmstatectl apply enable_and_edit_vf_eno2.yaml 
      [2024-09-14T10:16:00Z INFO  nmstatectl] Nmstate version: 2.2.35
      [2024-09-14T10:16:00Z INFO  nmstate::query_apply::net_state] Created checkpoint /org/freedesktop/NetworkManager/Checkpoint/144
      [2024-09-14T10:16:00Z INFO  nmstate::nm::query_apply::profile] Creating connection UUID Some("d58c60dc-d021-42f9-94df-216a78a11471"), ID Some("eno2"), type Some(Ethernet) name Some("eno2")
      [2024-09-14T10:16:00Z INFO  nmstate::nm::query_apply::profile] Activating connection d58c60dc-d021-42f9-94df-216a78a11471: eno2/802-3-ethernet
      [2024-09-14T10:16:01Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2.interface.ethernet.sr-iov.total-vfs desire '2', current '0'
      [2024-09-14T10:16:02Z INFO  nmstate::ifaces::sriov] SR-IOV VF sriov:eno2:1 resolved to interface name eno2v1
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Modifying connection UUID Some("d58c60dc-d021-42f9-94df-216a78a11471"), ID Some("eno2"), type Some(Ethernet) name Some("eno2")
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Creating connection UUID Some("f7183368-7ceb-408f-b692-862a5ec16dbe"), ID Some("eno2v0"), type Some(Ethernet) name Some("eno2v0")
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Creating connection UUID Some("15b067b5-62bc-41e4-aa96-6f178a165b4c"), ID Some("eno2v1"), type Some(Ethernet) name Some("eno2v1")
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Reapplying connection d58c60dc-d021-42f9-94df-216a78a11471: eno2/802-3-ethernet
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Reapplying connection d58c60dc-d021-42f9-94df-216a78a11471: eno2/802-3-ethernet
      [2024-09-14T10:16:02Z INFO  nmstate::nm::query_apply::profile] Activating connection f7183368-7ceb-408f-b692-862a5ec16dbe: eno2v0/802-3-ethernet
      [2024-09-14T10:16:04Z INFO  nmstate::nm::query_apply::profile] Activating connection 15b067b5-62bc-41e4-aa96-6f178a165b4c: eno2v1/802-3-ethernet
      [2024-09-14T10:16:04Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2v0.interface.state desire '"up"', current '"down"'
      [2024-09-14T10:16:05Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2v0.interface.state desire '"up"', current '"down"'
      [2024-09-14T10:16:06Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2v0.interface.state desire '"up"', current '"down"'
      [2024-09-14T10:16:07Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2v0.interface.state desire '"up"', current '"down"'
      [2024-09-14T10:16:08Z INFO  nmstate::query_apply::net_state] Retrying on: VerificationError: Verification failure: eno2v0.interface.state desire '"up"', current '"down"'
      [2024-09-14T10:16:09Z INFO  nmstate::query_apply::net_state] Destroyed checkpoint /org/freedesktop/NetworkManager/Checkpoint/144
      [2024-09-14T10:16:09Z ERROR nmstate::ifaces::sriov] InvalidArgument: Failed to find SR-IOV VF interface name for sriov:eno2:1
      NmstateError: InvalidArgument: Failed to find SR-IOV VF interface name for sriov:eno2:1
      
      # sometimes 2 VFs are actually created
      [18:16:09@wsfd-netdev72 sriov]1# nmcli c
      NAME         UUID                                  TYPE           DEVICE  
      eno3         a9c2c9b7-a67d-403a-a377-d1745326cbf1  ethernet       eno3    
      eno2         d58c60dc-d021-42f9-94df-216a78a11471  ethernet       eno2    
      ovsbr0-br    30c43dd7-2a7f-4aa8-9f4f-af8f2ff54f18  ovs-bridge     ovsbr0  
      ovsbr0-port  e0a681db-cabf-4ecd-a1f1-e0bfa635c219  ovs-port       ovsbr0  
      veth0        37808227-47f9-49a2-b13c-165fb57cc396  veth           veth0   
      veth0_p      c1b2b717-71ff-48ef-89ec-db9ddb8c0bf9  veth           veth0_p 
      veth0-port   dc6250be-46c8-4723-ac9e-e0805cbb05a8  ovs-port       veth0   
      eno2v0       f7183368-7ceb-408f-b692-862a5ec16dbe  ethernet       eno2v0  
      eno2v1       15b067b5-62bc-41e4-aa96-6f178a165b4c  ethernet       eno2v1  
      ovsbr0-if    e5782044-881b-42d1-873d-2ba765acd660  ovs-interface  ovsbr0  
      lo           5ca118c8-c237-4837-843b-4507eaccfbae  loopback       lo
      

       

              rh-ee-sfaye Stanislas Faye
              rh-ee-mshi1 Mingyu Shi
              Network Management Team Network Management Team
              Mingyu Shi Mingyu Shi
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated: