DPDK on Cisco UCS - OVS user Bridge report "cannot open datapath local port br-provider-vnic7 (Device or resource busy)"
Issue
-
DPDK is configured the same way for 2 vNIC on the compute nic-config template.
-
Each vNIC has its own ovs user bridge. There is no bond since HA is manage at UCS Manager profile.
-
Behavior in the resulting configurtion is different for br-provider-vnic6 and br-provider-vnic7.
-
The following nic templates are being used:
- type: ovs_user_bridge
name: br-provider-vnic6
use_dhcp: false
mtu: 9000
members:
- type: ovs_dpdk_port
name: dpdk0
mtu: 9000
members:
- type: interface
name: nic6
- type: ovs_user_bridge
name: br-provider-vnic7
use_dhcp: false
mtu: 9000
members:
- type: ovs_dpdk_port
name: dpdk1
mtu: 9000
members:
- type: interface
name: nic7
ovs-vsctl show
reports the following error:
[root@overcloud-compute-0 openvswitch]# ovs-vsctl show
d90308e9-d3f3-4de1-b9b5-66543bd2afe9
Manager "ptcp:6640:127.0.0.1"
is_connected: true
Bridge "br-provider-vnic7"
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port "phy-br-pr9fbad8"
Interface "phy-br-pr9fbad8"
type: patch
options: {peer="int-br-pr9fbad8"}
Port "dpdk1"
Interface "dpdk1"
type: dpdk
options: {dpdk-devargs="0000:11:00.0"}
Port "br-provider-vnic7"
Interface "br-provider-vnic7"
type: internal
error: "could not open network device br-provider-vnic7 (Device or resource busy)"
Bridge br-int
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port "int-br-pr62c3e5"
Interface "int-br-pr62c3e5"
type: patch
options: {peer="phy-br-pr62c3e5"}
Port "int-br-pr9fbad8"
Interface "int-br-pr9fbad8"
type: patch
options: {peer="phy-br-pr9fbad8"}
Port patch-tun
Interface patch-tun
type: patch
options: {peer=patch-int}
Port br-int
Interface br-int
type: internal
Bridge br-tun
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port "vxlan-0a010013"
Interface "vxlan-0a010013"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.10", out_key=flow, remote_ip="10.1.0.19"}
Port "vxlan-0a010011"
Interface "vxlan-0a010011"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.10", out_key=flow, remote_ip="10.10.10.11"}
Port "vxlan-0a010012"
Interface "vxlan-0a010012"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.10", out_key=flow, remote_ip="10.10.10.12"}
Port "vxlan-0a010017"
Interface "vxlan-0a010017"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.10", out_key=flow, remote_ip="10.10.10.13"}
Port br-tun
Interface br-tun
type: internal
Port patch-int
Interface patch-int
type: patch
options: {peer=patch-tun}
Port "vxlan-0a01001a"
Interface "vxlan-0a01001a"
type: vxlan
options: {df_default="true", in_key=flow, local_ip="10.10.10.10", out_key=flow, remote_ip="10.10.10.14"}
Bridge "br-provider-vnic6"
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port "br-provider-vnic6"
Interface "br-provider-vnic6"
type: internal
Port "dpdk0"
Interface "dpdk0"
type: dpdk
options: {dpdk-devargs="0000:10:00.0"}
Port "phy-br-pr62c3e5"
Interface "phy-br-pr62c3e5"
type: patch
options: {peer="int-br-pr62c3e5"}
ovs_version: "2.9.0"
/var/log/openvswitch/ovs-vswitchd.log
shows errors similar to these:
019-10-04T09:50:27.018Z|00090|netdev_linux|WARN|br-provider-vnic7: creating tap device failed: Device or resource busy
2019-10-04T09:50:27.018Z|00091|bridge|WARN|could not open network device br-provider-vnic7 (Device or resource busy)
2019-10-04T09:50:27.018Z|00092|bridge|INFO|bridge br-provider-vnic7: using datapath ID 00008a55a43c1d4c
2019-10-04T09:50:27.018Z|00093|connmgr|INFO|br-provider-vnic7: added service controller "punix:/var/run/openvswitch/br-provider-vnic7.mgmt"
Environment
- Red Hat OpenStack Platform 13.0 (RHOSP)
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.