Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Neutron on rdo / CentOS 7: external router port DOWN

Hi all,

I have installed RDO all-in-one on a CentOS 7 (VirtualBox VM hostname "rhino.stack"). I have been able to create cirros instances, assign floating IPs to the instances, and connect to them from the all-in-one host rhino.stack. I can access the public net just fine from the all-in-one host rhino.stack.

My problem is that I cannot connect from the instances to the public net. I have traced this to a connection problem between my OVS router and the external bridge "br-ex": The external port on the router reports being "DOWN". I also notice that no TAP device has been created for the the external bridge when I set the gateway for my router. I believe this is the underlying problem. Can anybody help me debug this setup and find out, why the TAP device does not get created?

I have two NICs on the all-in-one host: enp0s3 is a NAT interface provided by VirtualBox (IP 10.0.2.102 GW 10.0.2.2, for accessing the public net) and enp0s8 is an access-interface (IP 172.241.0.103), so that I can ssh from my laptop to to rhino.stack VirtuanBox VM).

This is my configuration:

Interface setup

  [root@rhino ~(keystone_admin)]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=10.0.2.102
NETMASK=255.255.255.0 
GATEWAY=10.0.2.2
DNS1=8.8.8.8 
ONBOOT=yes
[root@rhino ~(keystone_admin)]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
# ifcfg-enp0s3
DEVICE=enp0s3
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
HWADDR="08:00:27:73:58:2b"
ONBOOT=yes

"ovs-vsctl show" OVS and ifconfig

[root@rhino ~(keystone_admin)]# ovs-vsctl show
a7f15c8d-38d7-4a9d-a05d-1b9315197764
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    Bridge br-tun
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port "enp0s3"
            Interface "enp0s3"
        Port br-ex
            Interface br-ex
                type: internal
        Port "qg-d392c190-3f"
            Interface "qg-d392c190-3f"
                type: internal
    ovs_version: "2.1.3"

[root@rhino ~(keystone_admin)]# ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.102  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::b058:50ff:fee4:814f  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:73:58:2b  txqueuelen 0  (Ethernet)
        RX packets 97  bytes 7894 (7.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 99  bytes 9044 (8.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br-int: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5001:3ff:fe00:b44d  prefixlen 64  scopeid 0x20<link>
        ether 52:01:03:00:b4:4d  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::a00:27ff:fe73:582b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:73:58:2b  txqueuelen 1000  (Ethernet)
        RX packets 269039  bytes 211911434 (202.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 154497  bytes 9911164 (9.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.241.0.103  netmask 255.255.255.128  broadcast 172.241.0.127
        inet6 fe80::a00:27ff:fed5:c6dd  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:d5:c6:dd  txqueuelen 1000  (Ethernet)
        RX packets 7502  bytes 841881 (822.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5458  bytes 3191294 (3.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 180526  bytes 37847619 (36.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 180526  bytes 37847619 (36.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Neutron setup

[root@rhino ~(keystone_admin)]# neutron router-list
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
| id                                   | name   | external_gateway_info                                                                                                                                                                  | distributed | ha    |
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
| e25439cb-3420-44db-90ef-860eafcf88e5 | router | {"network_id": "32f09fd3-7773-4c17-a53b-7635841c77e1", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"}]} | False       | False |
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
[root@rhino ~(keystone_admin)]# neutron net-list
+--------------------------------------+--------+--------------------------------------------------+
| id                                   | name   | subnets                                          |
+--------------------------------------+--------+--------------------------------------------------+
| 32f09fd3-7773-4c17-a53b-7635841c77e1 | public | 619d0064-2b24-4a4d-94fb-ed6ba24e2468 10.0.2.0/24 |
+--------------------------------------+--------+--------------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron subnet-show 619d0064-2b24-4a4d-94fb-ed6ba24e2468
+-------------------+----------------------------------------------+
| Field             | Value                                        |
+-------------------+----------------------------------------------+
| allocation_pools  | {"start": "10.0.2.200", "end": "10.0.2.220"} |
| cidr              | 10.0.2.0/24                                  |
| dns_nameservers   |                                              |
| enable_dhcp       | False                                        |
| gateway_ip        | 10.0.2.2                                     |
| host_routes       |                                              |
| id                | 619d0064-2b24-4a4d-94fb-ed6ba24e2468         |
| ip_version        | 4                                            |
| ipv6_address_mode |                                              |
| ipv6_ra_mode      |                                              |
| name              | public_subnet                                |
| network_id        | 32f09fd3-7773-4c17-a53b-7635841c77e1         |
| tenant_id         | 604e4e0bb6694526bcddb8be36bdc84a             |
+-------------------+----------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron router-port-list  router
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                         |
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
| d392c190-3f1c-43b3-bdde-da6ed202abab |      | fa:16:3e:4e:ac:3f | {"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"} |
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron port-show d392c190-3f1c-43b3-bdde-da6ed202abab
+-----------------------+-----------------------------------------------------------------------------------+
| Field                 | Value                                                                             |
+-----------------------+-----------------------------------------------------------------------------------+
| admin_state_up        | True                                                                              |
| allowed_address_pairs |                                                                                   |
| binding:host_id       | rhino.stack                                                                       |
| binding:profile       | {}                                                                                |
| binding:vif_details   | {"port_filter": true, "ovs_hybrid_plug": true}                                    |
| binding:vif_type      | ovs                                                                               |
| binding:vnic_type     | normal                                                                            |
| device_id             | e25439cb-3420-44db-90ef-860eafcf88e5                                              |
| device_owner          | network:router_gateway                                                            |
| extra_dhcp_opts       |                                                                                   |
| fixed_ips             | {"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"} |
| id                    | d392c190-3f1c-43b3-bdde-da6ed202abab                                              |
| mac_address           | fa:16:3e:4e:ac:3f                                                                 |
| name                  |                                                                                   |
| network_id            | 32f09fd3-7773-4c17-a53b-7635841c77e1                                              |
| security_groups       |                                                                                   |
| status                | DOWN                                                                              |
| tenant_id             |                                                                                   |
+-----------------------+-----------------------------------------------------------------------------------+

Neutron on rdo / RDO Juno, Neutron, CentOS 7: external router port DOWN

Hi all,

I have installed RDO all-in-one on a CentOS 7 (VirtualBox VM hostname "rhino.stack"). I have been able to create cirros instances, assign floating IPs to the instances, and connect to them from the all-in-one host rhino.stack. I can access the public net just fine from the all-in-one host rhino.stack.

My problem is that I cannot connect from the instances to the public net. I have traced this to a connection problem between my OVS router and the external bridge "br-ex": The external port on the router reports being "DOWN". I also notice that no TAP device has been created for the the external bridge when I set the gateway for my router. I believe this is the underlying problem. Can anybody help me debug this setup and find out, why the TAP device does not get created?

I have two NICs on the all-in-one host: enp0s3 is a NAT interface provided by VirtualBox (IP 10.0.2.102 GW 10.0.2.2, for accessing the public net) and enp0s8 is an access-interface (IP 172.241.0.103), so that I can ssh from my laptop to to rhino.stack VirtuanBox VM).

This is my configuration:

Interface setup

  [root@rhino ~(keystone_admin)]# cat /etc/sysconfig/network-scripts/ifcfg-br-ex
DEVICE=br-ex
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=10.0.2.102
NETMASK=255.255.255.0 
GATEWAY=10.0.2.2
DNS1=8.8.8.8 
ONBOOT=yes
[root@rhino ~(keystone_admin)]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
# ifcfg-enp0s3
DEVICE=enp0s3
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
HWADDR="08:00:27:73:58:2b"
ONBOOT=yes

"ovs-vsctl show" OVS and ifconfig

[root@rhino ~(keystone_admin)]# ovs-vsctl show
a7f15c8d-38d7-4a9d-a05d-1b9315197764
    Bridge br-int
        fail_mode: secure
        Port br-int
            Interface br-int
                type: internal
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
    Bridge br-tun
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port br-tun
            Interface br-tun
                type: internal
    Bridge br-ex
        Port "enp0s3"
            Interface "enp0s3"
        Port br-ex
            Interface br-ex
                type: internal
        Port "qg-d392c190-3f"
            Interface "qg-d392c190-3f"
                type: internal
    ovs_version: "2.1.3"

[root@rhino ~(keystone_admin)]# ifconfig
br-ex: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.2.102  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::b058:50ff:fee4:814f  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:73:58:2b  txqueuelen 0  (Ethernet)
        RX packets 97  bytes 7894 (7.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 99  bytes 9044 (8.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br-int: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::5001:3ff:fe00:b44d  prefixlen 64  scopeid 0x20<link>
        ether 52:01:03:00:b4:4d  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8  bytes 648 (648.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::a00:27ff:fe73:582b  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:73:58:2b  txqueuelen 1000  (Ethernet)
        RX packets 269039  bytes 211911434 (202.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 154497  bytes 9911164 (9.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.241.0.103  netmask 255.255.255.128  broadcast 172.241.0.127
        inet6 fe80::a00:27ff:fed5:c6dd  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:d5:c6:dd  txqueuelen 1000  (Ethernet)
        RX packets 7502  bytes 841881 (822.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5458  bytes 3191294 (3.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 180526  bytes 37847619 (36.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 180526  bytes 37847619 (36.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Neutron setup

[root@rhino ~(keystone_admin)]# neutron router-list
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
| id                                   | name   | external_gateway_info                                                                                                                                                                  | distributed | ha    |
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
| e25439cb-3420-44db-90ef-860eafcf88e5 | router | {"network_id": "32f09fd3-7773-4c17-a53b-7635841c77e1", "enable_snat": true, "external_fixed_ips": [{"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"}]} | False       | False |
+--------------------------------------+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-------------+-------+
[root@rhino ~(keystone_admin)]# neutron net-list
+--------------------------------------+--------+--------------------------------------------------+
| id                                   | name   | subnets                                          |
+--------------------------------------+--------+--------------------------------------------------+
| 32f09fd3-7773-4c17-a53b-7635841c77e1 | public | 619d0064-2b24-4a4d-94fb-ed6ba24e2468 10.0.2.0/24 |
+--------------------------------------+--------+--------------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron subnet-show 619d0064-2b24-4a4d-94fb-ed6ba24e2468
+-------------------+----------------------------------------------+
| Field             | Value                                        |
+-------------------+----------------------------------------------+
| allocation_pools  | {"start": "10.0.2.200", "end": "10.0.2.220"} |
| cidr              | 10.0.2.0/24                                  |
| dns_nameservers   |                                              |
| enable_dhcp       | False                                        |
| gateway_ip        | 10.0.2.2                                     |
| host_routes       |                                              |
| id                | 619d0064-2b24-4a4d-94fb-ed6ba24e2468         |
| ip_version        | 4                                            |
| ipv6_address_mode |                                              |
| ipv6_ra_mode      |                                              |
| name              | public_subnet                                |
| network_id        | 32f09fd3-7773-4c17-a53b-7635841c77e1         |
| tenant_id         | 604e4e0bb6694526bcddb8be36bdc84a             |
+-------------------+----------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron router-port-list  router
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
| id                                   | name | mac_address       | fixed_ips                                                                         |
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
| d392c190-3f1c-43b3-bdde-da6ed202abab |      | fa:16:3e:4e:ac:3f | {"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"} |
+--------------------------------------+------+-------------------+-----------------------------------------------------------------------------------+
[root@rhino ~(keystone_admin)]# neutron port-show d392c190-3f1c-43b3-bdde-da6ed202abab
+-----------------------+-----------------------------------------------------------------------------------+
| Field                 | Value                                                                             |
+-----------------------+-----------------------------------------------------------------------------------+
| admin_state_up        | True                                                                              |
| allowed_address_pairs |                                                                                   |
| binding:host_id       | rhino.stack                                                                       |
| binding:profile       | {}                                                                                |
| binding:vif_details   | {"port_filter": true, "ovs_hybrid_plug": true}                                    |
| binding:vif_type      | ovs                                                                               |
| binding:vnic_type     | normal                                                                            |
| device_id             | e25439cb-3420-44db-90ef-860eafcf88e5                                              |
| device_owner          | network:router_gateway                                                            |
| extra_dhcp_opts       |                                                                                   |
| fixed_ips             | {"subnet_id": "619d0064-2b24-4a4d-94fb-ed6ba24e2468", "ip_address": "10.0.2.201"} |
| id                    | d392c190-3f1c-43b3-bdde-da6ed202abab                                              |
| mac_address           | fa:16:3e:4e:ac:3f                                                                 |
| name                  |                                                                                   |
| network_id            | 32f09fd3-7773-4c17-a53b-7635841c77e1                                              |
| security_groups       |                                                                                   |
| status                | DOWN                                                                              |
| tenant_id             |                                                                                   |
+-----------------------+-----------------------------------------------------------------------------------+