VM cannot get network access

asked 2017-06-16 04:15:42 -0500

Xu Yun gravatar image

I'm trying to deploy a test environment using RDO packstack. I have 3 nodes, node1 is the controller, node2 is for network and compute, node3 is only for compute. I want to setup open vSwitch based self-service networks. Each node has 2 network interfaces, eno1 is for management interface and eno2 is for provider. I don't have the third network interfaces, so I reuse eno1 as overlay.

Packstack finished installation with success.

I created the first instance and this instance was located at node2 and instance1 has no network issue. Then I create the second instance and this instance was located at node3, and this instance cannot get IP from DHCP server.

Would you please give me some hints to debug this issue?

I checked br-tun on node2 and node3, link state of br-tun is LINK-DOWN. Is it the reason?

ovs-ofctl show br-tun
OFPT_FEATURES_REPLY (xid=0x2): dpid:00007e906d9a314d
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst
 1(patch-int): addr:6e:10:98:aa:c7:60
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
 2(vxlan-c0a81fcf): addr:62:ff:8d:89:12:2e
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
 LOCAL(br-tun): addr:7e:90:6d:9a:31:4d
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0

Additional information:

ovs-vsctl show at node2:

ovs-vsctl show
98b2ceda-d30f-40fe-b745-83b4dc6719ff
    Manager "ptcp:6640:127.0.0.1"
        is_connected: true
    Bridge br-int
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port "tapa99d492f-d7"
            tag: 1
            Interface "tapa99d492f-d7"
                type: internal
        Port int-br-ex
            Interface int-br-ex
                type: patch
                options: {peer=phy-br-ex}
        Port "qr-b4cff9fa-e3"
            tag: 1
            Interface "qr-b4cff9fa-e3"
                type: internal
        Port "qg-08c64d55-c8"
            tag: 2
            Interface "qg-08c64d55-c8"
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "qvo92fb35dc-67"
            tag: 1
            Interface "qvo92fb35dc-67"
    Bridge br-tun
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "vxlan-c0a81fcf"
            Interface "vxlan-c0a81fcf"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="192.168.31.205", out_key=flow, remote_ip="192.168.31.207"}
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-ex
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port "eno2"
            Interface "eno2"
        Port br-ex
            Interface br-ex
                type: internal
    ovs_version: "2.6.1"

ovs-vsctl show at node3:

ovs-vsctl show
dc2b60c2-8025-44e3-acdb-cd6ec204c28b
    Manager "ptcp:6640:127.0.0.1"
        is_connected: true
    Bridge br-ex
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port "eno2"
            Interface "eno2"
        Port phy-br-ex
            Interface phy-br-ex
                type: patch
                options: {peer=int-br-ex}
        Port br-ex
            Interface br-ex
                type: internal
    Bridge br-tun
        Controller "tcp:127.0.0.1:6633"
            is_connected: true
        fail_mode: secure
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "vxlan-c0a81fcd"
            Interface "vxlan-c0a81fcd"
                type: vxlan
                options: {df_default="true", in_key=flow, local_ip="192.168.31.207", out_key=flow ...
(more)
edit retag flag offensive close merge delete

Comments

br-tun and br-int are usually down. If the router is centralized, which is the default, VM traffic should flow via the tunnel between nodes 2 and 3. Trace eno1 on the two nodes to see whether it does really flow there. Try pinging the VM's static IP from the DHCP namespace on node2.

Bernd Bausch gravatar imageBernd Bausch ( 2017-06-19 19:16:24 -0500 )edit

I wonder if your config incorrectly sets up the flows in br-int on node3, so that traffic goes through br-ex instead of br-tun? Can you upload your answer file to paste.openstack.org? (disclaimer: I am not really an expert but want to use this opportunity to learn)

Bernd Bausch gravatar imageBernd Bausch ( 2017-06-19 19:19:04 -0500 )edit