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

No SR-IOV VFs added to linux_bond for ifcfg provider

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Undefined Undefined
    • rhos-18.0.14 FR 4
    • None
    • os-net-config
    • None
    • Important

      os-net-config version used:

      git clone https://github.com/karthiksundaravel/os-net-config_nmstate.git -b test_remove_con
      cd os-net-config_nmstate/
      rm -fr /usr/lib/python3.9/site-packages/os_net_config
      mv os_net_config /usr/lib/python3.9/site-packages/
      

      When this config is applied:

      [root@compute-1 ~]# cat /var/tmp/os-net-config_tests/mapping.yaml |jq .
      {
        "interface_mapping": {
          "nic2": "eno2",
          "nic3": "enp130s0f0",
          "nic4": "enp130s0f1",
          "nic5": "enp130s0f2",
          "nic6": "enp130s0f3",
          "nic7": "enp6s0f0",
          "nic8": "enp6s0f1",
          "nic9": "enp6s0f2",
          "nic10": "enp6s0f3",
          "nic11": "enp4s0f0np0",
          "nic12": "enp4s0f1np1"
        }
      }
      [root@compute-1 ~]# cat /var/tmp/os-net-config_tests/config.yaml |jq .
      {
        "network_config": [
          {
            "type": "sriov_pf",
            "name": "nic5",
            "mtu": 9000,
            "numvfs": 5,
            "use_dhcp": false,
            "defroute": false,
            "nm_controlled": true,
            "hotplug": true,
            "drivers_autoprobe": false
          },
          {
            "type": "sriov_pf",
            "name": "nic6",
            "mtu": 9000,
            "numvfs": 5,
            "use_dhcp": false,
            "defroute": false,
            "nm_controlled": true,
            "hotplug": true,
            "drivers_autoprobe": false
          },
          {
            "type": "linux_bond",
            "name": "bond0",
            "use_dhcp": false,
            "members": [
              {
                "type": "sriov_vf",
                "device": "nic5",
                "vfid": 0,
                "vlan_id": 136
              },
              {
                "type": "sriov_vf",
                "device": "nic6",
                "vfid": 0,
                "vlan_id": 136
              }
            ],
            "addresses": [
              {
                "ip_netmask": "172.31.0.101/24"
              }
            ],
            "bonding_options": "mode=active-backup"
          }
        ]
      }
      

      The SR-IOV VFs are not effectively added to the bond (note NO-CARRIER):

      [root@compute-1 ~]# ip a sh bond0
      18: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
          link/ether 7e:47:68:76:57:9f brd ff:ff:ff:ff:ff:ff
          inet 172.31.0.101/24 scope global bond0
             valid_lft forever preferred_lft forever
          inet6 fe80::1085:c8ff:fe2b:d0de/64 scope link 
             valid_lft forever preferred_lft forever
      
      [root@compute-1 ~]# ip a |grep bond0
      18: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
          inet 172.31.0.101/24 scope global bond0
      

      However, we can see the ifcfg files created:

      [root@compute-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
      # This file is autogenerated by os-net-config
      DEVICE=bond0
      ONBOOT=yes
      HOTPLUG=no
      NM_CONTROLLED=no
      PEERDNS=no
      BONDING_OPTS="mode=active-backup"
      BOOTPROTO=static
      IPADDR=172.31.0.101
      NETMASK=255.255.255.0
      
      [root@compute-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp130s0f2v0 
      # This file is autogenerated by os-net-config
      DEVICE=enp130s0f2v0
      ONBOOT=yes
      HOTPLUG=no
      NM_CONTROLLED=no
      PEERDNS=no
      MASTER=bond0
      SLAVE=yes
      BOOTPROTO=none
      
      [root@compute-1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp130s0f3v0 
      # This file is autogenerated by os-net-config
      DEVICE=enp130s0f3v0
      ONBOOT=yes
      HOTPLUG=no
      NM_CONTROLLED=no
      PEERDNS=no
      MASTER=bond0
      SLAVE=yes
      BOOTPROTO=none
      

      We can the same configuration but using nmstate provider in compute-0 without hitting the issue (not VFs properly added to bond):

      [root@compute-0 ~]# ip a sh bond0
      18: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
          link/ether f6:e9:ad:5b:7d:ae brd ff:ff:ff:ff:ff:ff
          inet 172.31.0.100/24 brd 172.31.0.255 scope global noprefixroute bond0
             valid_lft forever preferred_lft forever
      
      [root@compute-0 ~]# ip a |grep bond0
      16: enp130s0f2v0: <BROADCAST,MULTICAST,PROMISC,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
      17: enp130s0f3v0: <BROADCAST,MULTICAST,PROMISC,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
      18: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
          inet 172.31.0.100/24 brd 172.31.0.255 scope global noprefixroute bond0
      

      os-net-config log files attached for both providers.

              ksundara@redhat.com Karthik Sundaravel
              rdiazcam@redhat.com Ricardo Diaz Campos
              rhos-dfg-nfv
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: