Bug 1781540 - os-net-config does not create dpdk_mapping.yaml for mellanox cards & causes ifcfg files to have 'dpdk-devargs=None'
Summary: os-net-config does not create dpdk_mapping.yaml for mellanox cards & causes i...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: os-net-config
Version: 13.0 (Queens)
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: z12
: 13.0 (Queens)
Assignee: David Vallee Delisle
QA Contact: nlevinki
URL:
Whiteboard:
: 1784907 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-12-10 08:50 UTC by Jaison Raju
Modified: 2024-12-17 14:50 UTC (History)
18 users (show)

Fixed In Version: os-net-config-8.5.1-4.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-06-24 11:33:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Launchpad 1862298 0 None None None 2020-02-07 04:46:40 UTC
OpenStack gerrit 706429 0 None MERGED We need to use the MAC instead of PCI Address for Mellanox cards 2021-02-03 22:23:15 UTC
Red Hat Issue Tracker NFV-1252 0 None None None 2023-05-11 13:17:04 UTC
Red Hat Issue Tracker OSP-23724 0 None None None 2023-03-24 16:27:24 UTC
Red Hat Knowledge Base (Solution) 4647381 0 None None None 2019-12-11 12:23:23 UTC
Red Hat Product Errata RHBA-2020:2718 0 None None None 2020-06-24 11:33:54 UTC

Description Jaison Raju 2019-12-10 08:50:39 UTC
Description of problem:
Since os-net-config skips driverctl run for nics that are already bound, the mellanox cards are not added in /var/lib/os-net-config/dpdk_mapping.yaml .

This leads to getting wrong pci address in ifcfg files as get_stored_pci_address
returns 'None'.


Version-Release number of selected component (if applicable):
RHOS13z9
os-net-config-8.5.1-1.el7ost.noarch

How reproducible:
Always

Steps to Reproduce:
1.
2.
3.

Actual results:
$ grep OVS_EXTRA etc/sysconfig/network-scripts/ifcfg-dpdk[01]
etc/sysconfig/network-scripts/ifcfg-dpdk0:OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=None -- set Interface $DEVICE mtu_request=$MTU -- set Interface $DEVICE options:n_rxq=$RX_QUEUE"
etc/sysconfig/network-scripts/ifcfg-dpdk1:OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=None -- set Interface $DEVICE mtu_request=$MTU -- set Interface $DEVICE options:n_rxq=$RX_QUEUE"

sos_commands/openvswitch/ovs-vsctl_-t_5_show
    Bridge "br-data1"
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "phy-br-data1"
            Interface "phy-br-data1"
                type: patch
                options: {peer="int-br-data1"}
        Port "br-data1"
            Interface "br-data1"
                type: internal
        Port "dpdk1"
            Interface "dpdk1"
                type: dpdk
                options: {dpdk-devargs=None, n_rxq="1"}
                error: "Error attaching device 'None' to DPDK"
    Bridge "br-data2"


Expected results:

etc/sysconfig/network-scripts/ifcfg-dpdk0:OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=0000:37:00.0 -- set Interface $DEVICE mtu_request=$MTU -- set Interface $DEVICE options:n_rxq=$RX_QUEUE"
etc/sysconfig/network-scripts/ifcfg-dpdk1:OVS_EXTRA="set Interface $DEVICE options:dpdk-devargs=0000:37:00.1 -- set Interface $DEVICE mtu_request=$MTU -- set Interface $DEVICE options:n_rxq=$RX_QUEUE"



Additional info:

Comment 3 Saravanan KR 2020-01-08 04:52:05 UTC
*** Bug 1784907 has been marked as a duplicate of this bug. ***

Comment 11 David Vallee Delisle 2020-02-07 04:46:41 UTC
I just read the KCS linked to this case and it summarize pretty well the situation. pkundal++

[1] So here's the first run to ever happen on the node. Since the mlx5_core driver is already associated, the dpdk_mapping.yaml file isn't generated.

[a] opened a bug upstream
[b] submitted a fix



[a] https://bugs.launchpad.net/os-net-config/+bug/1862298
[b] https://review.opendev.org/#/c/706429/

[1]
~~~
os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes
[2020/02/06 10:38:26 PM] [INFO] Using config file at: /etc/os-net-config/config.json
[2020/02/06 10:38:26 PM] [INFO] Ifcfg net config provider created.
[2020/02/06 10:38:26 PM] [INFO] Not using any mapping file.
[2020/02/06 10:38:27 PM] [INFO] Finding active nics
[2020/02/06 10:38:27 PM] [INFO] p1p2 is an active nic
[2020/02/06 10:38:27 PM] [INFO] p1p1 is an active nic
[2020/02/06 10:38:27 PM] [INFO] p4p1 is an active nic
[2020/02/06 10:38:27 PM] [INFO] p8p1 is an active nic
[2020/02/06 10:38:27 PM] [INFO] lo is not an active nic
[2020/02/06 10:38:27 PM] [INFO] em3 is an embedded active nic
[2020/02/06 10:38:27 PM] [INFO] em2 is an embedded active nic
[2020/02/06 10:38:27 PM] [INFO] em1 is an embedded active nic
[2020/02/06 10:38:27 PM] [INFO] em4 is not an active nic
[2020/02/06 10:38:27 PM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)
[2020/02/06 10:38:27 PM] [INFO] Active nics are ['em1', 'em2', 'em3', 'p1p1', 'p1p2', 'p4p1', 'p8p1']
[2020/02/06 10:38:27 PM] [INFO] nic6 mapped to: p4p1
[2020/02/06 10:38:27 PM] [INFO] nic4 mapped to: p1p1
[2020/02/06 10:38:27 PM] [INFO] nic7 mapped to: p8p1
[2020/02/06 10:38:27 PM] [INFO] nic5 mapped to: p1p2
[2020/02/06 10:38:27 PM] [INFO] nic1 mapped to: em1
[2020/02/06 10:38:27 PM] [INFO] nic3 mapped to: em3
[2020/02/06 10:38:27 PM] [INFO] nic2 mapped to: em2
[2020/02/06 10:38:27 PM] [INFO] adding interface: em1
[2020/02/06 10:38:27 PM] [INFO] adding custom route for interface: em1
[2020/02/06 10:38:27 PM] [INFO] adding interface: em2
[2020/02/06 10:38:27 PM] [INFO] adding interface: em3
[2020/02/06 10:38:27 PM] [INFO] adding interface: em4
[2020/02/06 10:38:27 PM] [INFO] adding linux bond: bond_api
[2020/02/06 10:38:27 PM] [INFO] adding interface: p1p1
[2020/02/06 10:38:27 PM] [INFO] adding interface: p1p2
[2020/02/06 10:38:27 PM] [INFO] adding vlan: vlan1220
[2020/02/06 10:38:27 PM] [INFO] adding vlan: vlan1260
[2020/02/06 10:38:27 PM] [INFO] adding ovs user bridge: br-tenant
[2020/02/06 10:38:27 PM] [INFO] adding ovs dpdk bond: dpdkbond0
[2020/02/06 10:38:27 PM] [INFO] Driver (mlx5_core) is already bound to the device (p4p1)
[2020/02/06 10:38:27 PM] [INFO] Driver (mlx5_core) is already bound to the device (p8p1)
[2020/02/06 10:38:27 PM] [INFO] applying network configs...
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: vlan1220
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: vlan1260
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: p1p1
[2020/02/06 10:38:27 PM] [INFO] interface p1p1 is up, trying with ip command
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: p1p2
[2020/02/06 10:38:27 PM] [INFO] interface p1p2 is up, trying with ip command
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: em4
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: em1
[2020/02/06 10:38:27 PM] [INFO] interface em1 is up, trying with ip command
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: em3
[2020/02/06 10:38:27 PM] [INFO] interface em3 is up, trying with ip command
[2020/02/06 10:38:27 PM] [INFO] running ifdown on interface: em2
[2020/02/06 10:38:28 PM] [INFO] interface em2 is up, trying with ip command
[2020/02/06 10:38:28 PM] [INFO] running ifdown on interface: dpdkbond0
[2020/02/06 10:38:28 PM] [INFO] running ifdown on interface: bond_api
[2020/02/06 10:38:28 PM] [INFO] running ifdown on bridge: br-tenant
[2020/02/06 10:38:28 PM] [INFO] Restart openvswitch
~~~

Comment 35 Miguel Angel Nieto 2020-06-17 15:50:31 UTC
I am facing the same issue in osp13 puddle 2020-06-09.2 using a connectx-5 card and these templates

             - type: ovs_user_bridge
                name: br-link0
                use_dhcp: false
                ovs_extra:
                  - str_replace:
                      template: set port br-link0 tag=_VLAN_TAG_
                      params:
                        _VLAN_TAG_:
                          get_param: TenantNetworkVlanID
                addresses:
                  - ip_netmask:
                      get_param: TenantIpSubnet
                members:
                  - type: ovs_dpdk_bond
                    name: dpdkbond0
                    mtu: 9000
                    rx_queue: 2
                    members:
                      - type: ovs_dpdk_port
                        driver: mlx5_core
                        name: dpdk0
                        members:
                          - type: sriov_vf
                            device: nic12
                            vfid: 3
                      - type: ovs_dpdk_port
                        driver: mlx5_core
                        name: dpdk1
                        members:
                          - type: sriov_vf
                            device: nic11
                            vfid: 3

Comment 36 David Vallee Delisle 2020-06-17 16:02:37 UTC
I'm not sure if we can use a VF here. This is how it worked for me:

~~~
              -
                type: ovs_user_bridge
                name: br-link1
                use_dhcp: false
                mtu: 9000
                members:
                - type: ovs_dpdk_port
                  name: dpdk0
                  mtu: 9000
                  driver: mlx5_core
                  members:
                  - type: interface
                    name: p4p1
                    use_dhcp: false
                    nm_controlled: false
              -
                type: ovs_user_bridge
                name: br-link2
                use_dhcp: false
                mtu: 9000
                members:
                - type: ovs_dpdk_port
                  name: dpdk1
                  mtu: 9000
                  driver: mlx5_core
                  members:
                  - type: interface
                    name: p8p1
                    use_dhcp: false
                    nm_controlled: false
~~~

If you can provide more information from the compute, maybe the os-net-config logs, we could better understand.

Thanks,

DVD

Comment 37 Miguel Angel Nieto 2020-06-18 07:39:33 UTC
I would say that configurations are different. Your configuration is using PF while mine is using VF.

os-net-config version: os-net-config-8.5.1-5.el7ost.noarch

os-net-config log

[root@computeovsdpdksriov-1 log]# os-net-config -c /etc/os-net-config/config.json -v --detailed-exit-codes
[2020/06/18 03:38:33 AM] [INFO] Using config file at: /etc/os-net-config/config.json
[2020/06/18 03:38:33 AM] [INFO] Ifcfg net config provider created.
[2020/06/18 03:38:33 AM] [INFO] Using mapping file at: /etc/os-net-config/mapping.yaml
[2020/06/18 03:38:34 AM] [INFO] Finding active nics
[2020/06/18 03:38:34 AM] [INFO] p7p3_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p3 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p4 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p2 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p2 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] lo is not an active nic
[2020/06/18 03:38:34 AM] [INFO] em3 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] em1 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] em2 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] em4 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_13 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_11 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_12 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_10 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_10 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_13 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_11 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_12 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)
[2020/06/18 03:38:34 AM] [INFO] Active nics are ['em1', 'em2', 'em3', 'em4', 'p4p1', 'p4p2', 'p4p3', 'p4p4', 'p6p1', 'p6p2', 'p7p1', 'p7p2', 'p7p3', 'p7p4']
[2020/06/18 03:38:34 AM] [INFO] nic8 in mapping file mapped to: p7p2
[2020/06/18 03:38:34 AM] [INFO] nic9 in mapping file mapped to: p7p3
[2020/06/18 03:38:34 AM] [INFO] nic2 in mapping file mapped to: em2
[2020/06/18 03:38:34 AM] [INFO] nic3 in mapping file mapped to: p4p1
[2020/06/18 03:38:34 AM] [INFO] nic1 in mapping file mapped to: em1
[2020/06/18 03:38:34 AM] [INFO] nic6 in mapping file mapped to: p4p4
[2020/06/18 03:38:34 AM] [INFO] nic7 in mapping file mapped to: p7p1
[2020/06/18 03:38:34 AM] [INFO] nic4 in mapping file mapped to: p4p2
[2020/06/18 03:38:34 AM] [INFO] nic5 in mapping file mapped to: p4p3
[2020/06/18 03:38:34 AM] [INFO] nic10 in mapping file mapped to: p7p4
[2020/06/18 03:38:34 AM] [INFO] nic11 in mapping file mapped to: p6p1
[2020/06/18 03:38:34 AM] [INFO] nic12 in mapping file mapped to: p6p2
[2020/06/18 03:38:34 AM] [INFO] Finding active nics
[2020/06/18 03:38:34 AM] [INFO] p7p3_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_7 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_5 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_6 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_1 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_0 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_8 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_9 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p3 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p4 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p2 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p4p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p4 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p2 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p3 is an active nic
[2020/06/18 03:38:34 AM] [INFO] p7p1 is an active nic
[2020/06/18 03:38:34 AM] [INFO] lo is not an active nic
[2020/06/18 03:38:34 AM] [INFO] em3 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] em1 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] em2 is an embedded active nic
[2020/06/18 03:38:34 AM] [INFO] em4 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_13 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_11 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_12 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p1_10 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_10 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_13 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_11 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] p6p2_12 is not an active nic
[2020/06/18 03:38:34 AM] [INFO] No DPDK mapping available in path (/var/lib/os-net-config/dpdk_mapping.yaml)
[2020/06/18 03:38:34 AM] [INFO] Active nics are ['em1', 'em2', 'p4p1', 'p4p2', 'p4p3', 'p4p4', 'p6p1', 'p6p2', 'p7p1', 'p7p3', 'p7p4']
[2020/06/18 03:38:34 AM] [INFO] adding sriov pf: p6p1
[2020/06/18 03:38:34 AM] [INFO] adding sriov pf: p6p2
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p1:1, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p2:1, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p1:2, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p2:2, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:3, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:3, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:3, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:3, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] adding sriov pf: p7p3
[2020/06/18 03:38:34 AM] [INFO] adding sriov pf: p7p4
[2020/06/18 03:38:34 AM] [INFO] applying network configs...
[2020/06/18 03:38:34 AM] [INFO] No changes required for interface: p6p2
[2020/06/18 03:38:34 AM] [INFO] No changes required for interface: p7p3
[2020/06/18 03:38:34 AM] [INFO] No changes required for interface: p6p1
[2020/06/18 03:38:34 AM] [INFO] No changes required for interface: p7p4
[2020/06/18 03:38:34 AM] [INFO] Configuring PFs now
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p6p1 promisc off
[2020/06/18 03:38:34 AM] [INFO] Bringing up PF: p6p1
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p6p1 up
[2020/06/18 03:38:34 AM] [INFO] adding udev rules for p6p1
[2020/06/18 03:38:34 AM] [INFO] Numvfs already configured for p6p1
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p6p2 promisc off
[2020/06/18 03:38:34 AM] [INFO] Bringing up PF: p6p2
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p6p2 up
[2020/06/18 03:38:34 AM] [INFO] adding udev rules for p6p2
[2020/06/18 03:38:34 AM] [INFO] Numvfs already configured for p6p2
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p7p3 promisc off
[2020/06/18 03:38:34 AM] [INFO] Bringing up PF: p7p3
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p7p3 up
[2020/06/18 03:38:34 AM] [INFO] adding udev rules for p7p3
[2020/06/18 03:38:34 AM] [INFO] Numvfs already configured for p7p3
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p7p4 promisc off
[2020/06/18 03:38:34 AM] [INFO] Bringing up PF: p7p4
[2020/06/18 03:38:34 AM] [INFO] Running ip link set dev p7p4 up
[2020/06/18 03:38:34 AM] [INFO] adding udev rules for p7p4
[2020/06/18 03:38:34 AM] [INFO] Numvfs already configured for p7p4
[2020/06/18 03:38:34 AM] [INFO] adding interface: em1
[2020/06/18 03:38:34 AM] [INFO] adding interface: em2
[2020/06/18 03:38:34 AM] [INFO] adding custom route for interface: em2
[2020/06/18 03:38:34 AM] [INFO] adding interface: p4p1
[2020/06/18 03:38:34 AM] [INFO] adding interface: p4p2
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p1:1, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:1, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p2:1, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] adding linux bond: internal_bond
[2020/06/18 03:38:34 AM] [INFO] adding sriov vf: p6p1_1 for pf: p6p1, vfid: 1
[2020/06/18 03:38:34 AM] [INFO] adding sriov vf: p6p2_1 for pf: p6p2, vfid: 1
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p1:2, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:2, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Promisc is not set for VF p6p2:2, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] adding linux bond: storage_bond
[2020/06/18 03:38:34 AM] [INFO] adding sriov vf: p6p1_2 for pf: p6p1, vfid: 2
[2020/06/18 03:38:34 AM] [INFO] adding sriov vf: p6p2_2 for pf: p6p2, vfid: 2
[2020/06/18 03:38:34 AM] [INFO] adding vlan: vlan120
[2020/06/18 03:38:34 AM] [INFO] adding vlan: vlan122
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p2:3, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p2:3, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] Trust is not set for VF p6p1:3, defaulting to on
[2020/06/18 03:38:34 AM] [INFO] Spoofcheck is not set for VF p6p1:3, defaulting to off
[2020/06/18 03:38:34 AM] [INFO] adding ovs user bridge: br-link0
[2020/06/18 03:38:34 AM] [INFO] adding ovs dpdk bond: dpdkbond0
[2020/06/18 03:38:34 AM] [INFO] Driver (mlx5_core) is already bound to the device (p6p2_3)
[2020/06/18 03:38:34 AM] [INFO] Driver (mlx5_core) is already bound to the device (p6p1_3)
[2020/06/18 03:38:34 AM] [INFO] Getting devargs for Mellanox cards
Traceback (most recent call last):
  File "/bin/os-net-config", line 10, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/site-packages/os_net_config/cli.py", line 337, in main
    provider.add_object(obj)
  File "/usr/lib/python2.7/site-packages/os_net_config/__init__.py", line 70, in add_object
    self.add_object(member)
  File "/usr/lib/python2.7/site-packages/os_net_config/__init__.py", line 104, in add_object
    self.add_ovs_dpdk_bond(obj)
  File "/usr/lib/python2.7/site-packages/os_net_config/impl_ifcfg.py", line 926, in add_ovs_dpdk_bond
    data = self._add_common(ovs_dpdk_bond)
  File "/usr/lib/python2.7/site-packages/os_net_config/impl_ifcfg.py", line 543, in _add_common
    bond_member.members[0].name, self.noop)
  File "/usr/lib/python2.7/site-packages/os_net_config/utils.py", line 404, in get_dpdk_devargs
    logger.debug("Devargs found: %s" % (dpdk_devargs))
UnboundLocalError: local variable 'dpdk_devargs' referenced before assignment

Comment 38 Saravanan KR 2020-06-18 07:56:26 UTC
I think we are confusing 2 thing here - Mellanox NIC for DPDK and Nic paritioning.

This BZ is targetted to fix the issue around using the Mellanox Physical Interface as DPDK port for OvS (eactly what David is explaning in comment #36). If you are planning to verify this scenario, then you need to place DPDK on top of the interface directly (without using VF).

While using nic-partitioning feature with mellanox, there is an issue with as you have pointed out in comment #37 (VF will not be an active nic, because of which it is failing). Can you raise a seprate BZ targetting the nic-paritioning feature for this issue?

Comment 39 Miguel Angel Nieto 2020-06-18 09:55:36 UTC
Created this BZ for the nic partitioning issue https://bugzilla.redhat.com/show_bug.cgi?id=1848399

Comment 40 Miguel Angel Nieto 2020-06-19 07:29:54 UTC
Verified using NFV templates (replacing interface to the mallanox one)

    Bridge "br-link0"
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "br-link0"
            tag: 121
            Interface "br-link0"
                type: internal
        Port "dpdkbond0"
            Interface "dpdk0"
                type: dpdk
                options: {dpdk-devargs="0000:04:00.1", n_rxq="2"}
            Interface "dpdk1"
                type: dpdk
                options: {dpdk-devargs="0000:04:00.0", n_rxq="2"}
        Port "phy-br-link0"
            Interface "phy-br-link0"
                type: patch
                options: {peer="int-br-link0"}

[root@computeovsdpdksriov-0 heat-admin]# lspci | grep Mella
04:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
04:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

[root@computeovsdpdksriov-0 heat-admin]# rpm -qa | grep os-net-config
os-net-config-8.5.1-5.el7ost.noarch

(undercloud) [stack@undercloud-0 ~]$ cat core_puddle_version 
2020-06-09.2(undercloud) [stack@undercloud-0 ~]$

Comment 42 errata-xmlrpc 2020-06-24 11:33:20 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, 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-2020:2718


Note You need to log in before you can comment on or make changes to this bug.