/sys/class/net/tapdbfe88f8-06/carrier: open failed: No such file or directory

Asked by zzfancy

two nodes, each have one network device eth0.
instances in node1 can ping each other well, while instances in node2 can not reach network.
i noticed sth strange below and did not know how to fix. thx a lot for any hints.
 a) port tapdbfe88f8-06 not working. /var/log/syslog and /var/log/openvswitch/ovs-vswitchd.log have error like "Nov 22 16:20:19|00001|netdev_linux|WARN|/sys/class/net/tapdbfe88f8-06/carrier: open failed: No such file or directory"
 b) bridge "br-int" and "br-eth0" at the "down" state when the first run quantum service. i change them "up" manually.

some info maybe helpful..
root@ubuntu:/root# ip netns exec qdhcp-37a5f788-6ccc-4045-ae6e-3363c779f591 ip addr
15: tapdbfe88f8-06: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:61:ca:9f brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.2/24 brd 10.0.0.255 scope global tapdbfe88f8-06
    inet6 fe80::f816:3eff:fe61:ca9f/64 scope link
       valid_lft forever preferred_lft forever
16: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

node 1:control&compute node

ENABLED_SERVICES=g-api,g-reg,key,n-api,n-crt,n-obj,n-cpu,n-net,cinder,c-sch,c-api,c-vol,n-sch,n-novnc,n-xvnc,n-cauth,horizon,mysql,rabbit,quantum,q-svc,q-agt,q-dhcp
disable_service n-net
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=1:1999
PHYSICAL_NETWORK=eth0
OVS_PHYSICAL_BRIDGE=br-eth0

node 2 compute node
ENABLED_SERVICES=n-cpu,n-novnc,q-agt
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=1:1999
PHYSICAL_NETWORK=eth0
OVS_PHYSICAL_BRIDGE=br-eth0

node1
root@ubuntu:/root# ovs-vsctl show
61903c99-2845-475e-8638-f709892ce65a
    Bridge br-int
        Port br-int
            Interface br-int
                type: internal
        Port "int-br-eth0"
            Interface "int-br-eth0"
        Port "qvoa7bf70c9-e5"
            tag: 1
            Interface "qvoa7bf70c9-e5"
        Port "qvob788d227-a1"
            tag: 1
            Interface "qvob788d227-a1"
        Port "tapdbfe88f8-06"
            tag: 1
            Interface "tapdbfe88f8-06"
                type: internal
    Bridge "br-eth0"
        Port "br-eth0"
            Interface "br-eth0"
                type: internal
        Port "phy-br-eth0"
            Interface "phy-br-eth0"
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "1.4.0+build0"

root@ubuntu:/root# ovs-dpctl show
system@br-eth0:
        lookups: hit:234 missed:68 lost:0
        flows: 0
        port 0: br-eth0 (internal)
        port 2: phy-br-eth0
system@br-int:
        lookups: hit:257 missed:118 lost:0
        flows: 0
        port 0: br-int (internal)
Nov 22 16:20:19|00001|netdev_linux|WARN|/sys/class/net/tapdbfe88f8-06/carrier: open failed: No such file or directory
        port 2: tapdbfe88f8-06 (internal)
        port 3: int-br-eth0
        port 4: qvob788d227-a1
        port 5: qvoa7bf70c9-e5
system@br-ex:
        lookups: hit:2 missed:4 lost:0
        flows: 0
        port 0: br-ex (internal)

Question information

Language:
English Edit question
Status:
Solved
For:
neutron Edit question
Assignee:
No assignee Edit question
Solved by:
zzfancy
Solved:
Last query:
Last reply:
Revision history for this message
yong sheng gong (gongysh) said :
#1

It seems you have no eth0 into the bridge br-eth0:
 Bridge "br-eth0"
        Port "br-eth0"
            Interface "br-eth0"
                type: internal
        Port "phy-br-eth0"
            Interface "phy-br-eth0
So add eth0 into br-eth0 so that two nodes can link together.
sudo ovs-vsctl add-port br-eth0 eth0

U can move all the ips on eth0 to br-eth0 and bring br-eth0 up:
sudo ip addr add xxx-on-eth0 dev br-eth0
sudo ip addr flush eth0 (correct me if I am wrong with this command)
sudo ifconfig br-eth0 up

Revision history for this message
zzfancy (zzfancy) said :
#2

to gongysh
great! thx a lot gong~

the problem is fixed.
command should be like:

sudo ovs-vsctl add-port br-eth0 eth0
sudo ip addr add x.x.x.x/24 dev br-eth0 (x.x.x.x/24 is my eth0 ip which should be moved to br-eth0)
sudo ip addr flush eth0
sudo ifconfig br-eth0 up

Revision history for this message
Alin Calinciuc (alin-calinciuc) said :
#3

I think I have a similar problem.
Instances from my node 1 that is the control & compute get IP address and can receive metadata, but instances from node 2 which is only compute do not get any ip addres from dhcp.
My current setup is :

NODE1:
Interfaces:
# VM internet Access
auto eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

#For Exposing OpenStack API over the internet
auto br-ex
iface br-ex inet static
address 192.168.100.6
netmask 255.255.255.0
gateway 192.168.100.1
dns-nameservers 8.8.8.8

#Not internet connected(used for OpenStack management)
auto eth0
iface eth0 inet static
address 10.10.100.51
netmask 255.255.255.0

root@openstackmanagement:~# ovs-vsctl show
68b8533e-a28b-4ded-8591-5b2919803c45
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "qg-605e3b38-5a"
            Interface "qg-605e3b38-5a"
                type: internal
        Port "eth1"
            Interface "eth1"
    Bridge br-int
        Port "tap1b0d38a4-01"
            tag: 1
            Interface "tap1b0d38a4-01"
                type: internal
        Port "qvoce730253-05"
            tag: 1
            Interface "qvoce730253-05"
        Port "qr-c5318f6a-8b"
            tag: 1
            Interface "qr-c5318f6a-8b"
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port br-int
            Interface br-int
                type: internal
    Bridge br-tun
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    ovs_version: "1.4.0+build0"

root@openstackmanagement:~# ovs-dpctl show
system@br-tun:
        lookups: hit:17 missed:136 lost:0
        flows: 0
        port 0: br-tun (internal)
        port 1: patch-int (patch: peer=patch-tun)
system@br-int:
        lookups: hit:132 missed:576 lost:0
        flows: 0
        port 0: br-int (internal)
Aug 01 12:01:18|00001|netdev_linux|WARN|/sys/class/net/tap1b0d38a4-01/carrier: open failed: No such file or directory
        port 1: tap1b0d38a4-01 (internal)
        port 7: patch-tun (patch: peer=patch-int)
Aug 01 12:01:18|00002|netdev_linux|WARN|/sys/class/net/qr-c5318f6a-8b/carrier: open failed: No such file or directory
        port 8: qr-c5318f6a-8b (internal)
        port 9: qvoce730253-05
system@br-ex:
        lookups: hit:177391 missed:88398 lost:0
        flows: 19
        port 0: br-ex (internal)
        port 1: eth1
Aug 01 12:01:18|00003|netdev_linux|WARN|/sys/class/net/qg-605e3b38-5a/carrier: open failed: No such file or directory
        port 3: qg-605e3b38-5a (internal)

NODE 2:
Interfaces:
auto eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

#For Exposing OpenStack API over the internet
auto br-ex
iface br-ex inet static
address 192.168.100.7
netmask 255.255.255.0
gateway 192.168.100.1
dns-nameservers 8.8.8.8

#Not internet connected(used for OpenStack management)
auto eth0
iface eth0 inet static
address 10.10.100.52
netmask 255.255.255.0

root@openstack2:~# ovs-vsctl show
12fbf5c5-072f-47ba-9489-689c02e1c8e0
    Bridge br-tun
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        Port br-int
            Interface br-int
                type: internal
        Port "qvo7a73a532-c1"
            Interface "qvo7a73a532-c1"
        Port "qvob4ae521c-33"
            Interface "qvob4ae521c-33"
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "eth1"
            Interface "eth1"
    ovs_version: "1.4.0+build0"

root@openstack2:~# ovs-dpctl show
system@br-tun:
        lookups: hit:0 missed:0 lost:0
        flows: 0
        port 0: br-tun (internal)
system@br-int:
        lookups: hit:6210 missed:1390 lost:0
        flows: 27
        port 0: br-int (internal)
        port 1: eth0
        port 3: qvob4ae521c-33
system@br-ex:
        lookups: hit:2775 missed:1223 lost:0
        flows: 17
        port 0: br-ex (internal)
        port 1: eth1

Can anyone help me ?

Revision history for this message
Alin Calinciuc (alin-calinciuc) said :
#4

ERROR [quantum.plugins.openvswitch.agent.ovs_quantum_agent] Failed to create OVS patch port. Cannot have tunneling enabled on this agent, since this version of OVS does not support tunnels or patch ports. Agent terminated!

Revision history for this message
Alin Calinciuc (alin-calinciuc) said :
#5

I solved the problem. It was a problem with openvswitch-agent from NODE 2 (compute node)
I had to :

apt-get remove openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch-agent
reboot
apt-get install openvswitch-switch openvswitch-datapath-dkms quantum-plugin-openvswitch-agent
reboot

And after that it worked.