Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-8922

NIC partioning using ifcfg provider doesn't work after dataplane deployment

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Normal Normal
    • rhos-18.0.1
    • rhos-17.1.0, rhos-18.0.0
    • os-net-config
    • None
    • 3
    • Important

      Having this NIC config:

                - type: sriov_pf
                  name: nic6
                  mtu: 9000
                  numvfs: 5
                  use_dhcp: false
                  defroute: false
                  nm_controlled: true
                  hotplug: true
                - type: sriov_pf
                  name: nic7
                  mtu: 9000
                  numvfs: 5
                  use_dhcp: false
                  defroute: false
                  nm_controlled: true
                  hotplug: true
                - type: ovs_user_bridge
                  name: br-link0
                  use_dhcp: false
                  ovs_extra: "set port br-link0 tag={{ lookup('vars', networks_lower['tenant'] ~ '_vlan_id') }}"
                  addresses:
                  - ip_netmask: {{ lookup('vars', networks_lower['tenant'] ~ '_ip') }}/{{ lookup('vars', networks_lower['tenant'] ~ '_cidr')}}
                  members:
                    - type: ovs_dpdk_bond
                      name: dpdkbond0
                      mtu: 9000
                      rx_queue: 1
                      members:
                      - type: ovs_dpdk_port
                        driver: mlx5_core
                        name: dpdk0
                        members:
                        - type: sriov_vf
                          device: nic6
                          vfid: 0
                      - type: ovs_dpdk_port
                        driver: mlx5_core
                        name: dpdk1
                        members:
                        - type: sriov_vf
                          device: nic7
                          vfid: 0
      

      After the daplane deployment finishes we don't have ping between VMs in the dpdk-mgmt network (geneve).

      We can see the following errors in computes:

      Jul 24 12:31:30 compute-1 cloud-init[1807]: Cloud-init v. 23.4-7.el9_4.5 running 'init-local' at Wed, 24 Jul 2024 12:31:30 +0000. Up 14.59 seconds.
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]: Traceback (most recent call last):
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/lib/python3.9/site-packages/os_net_config/sriov_config.py", line 176, in get_numvfs
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     with open(sriov_numvfs_path, 'r') as f:
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]: FileNotFoundError: [Errno 2] No such file or directory: '/sys/class/net/ens2f0np0/device/sriov_numvfs'
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]: During handling of the above exception, another exception occurred:
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]: Traceback (most recent call last):
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/bin/os-net-config-sriov", line 10, in <module>
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     sys.exit(main())
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/lib/python3.9/site-packages/os_net_config/sriov_config.py", line 836, in main
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     configure_sriov_pf()
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/lib/python3.9/site-packages/os_net_config/sriov_config.py", line 318, in configure_sriov_pf
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     if pf_configure_status(item):
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/lib/python3.9/site-packages/os_net_config/sriov_config.py", line 689, in pf_configure_status
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     return pf_device['numvfs'] == get_numvfs(pf_device['name'])
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:   File "/usr/lib/python3.9/site-packages/os_net_config/sriov_config.py", line 180, in get_numvfs
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]:     raise SRIOVNumvfsException(msg)
      Jul 24 12:31:30 compute-1 os-net-config-sriov[1772]: os_net_config.sriov_config.SRIOVNumvfsException: ens2f0np0: Unable to read numvfs: [Errno 2] No such file or directory: '/sys/class/net/ens2f0np0/device/sriov_numvfs'

      And empty /etc/udev/rules.d/70-os-net-config-sriov.rules 

       

            rh-ee-rjarry Robin Jarry
            rdiazcam@redhat.com Ricardo Diaz Campos
            Ricardo Diaz Campos Ricardo Diaz Campos
            rhos-dfg-nfv
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: