floatingip can not access after associate to instance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Expired
|
Undecided
|
Unassigned |
Bug Description
I have deploy openstack neutron component user kolla ansible with the rocky release successfully.
and I enabled the SDN ML2 plugin in neutron ml2_conf.ini。
when I create a baremetal port from a vlan internal network, it the SDN controller can modify the vlan automatically.
And network works normally,shown below:
root@ubuntu:~# ip netns exec qrouter-
1: lo: <LOOPBACK,
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
53: qr-66ff06af-8a: <BROADCAST,
link/ether fa:16:3e:da:e3:3c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.254/24 brd 192.168.1.255 scope global qr-66ff06af-8a
valid_lft forever preferred_lft forever
inet6 fe80::f816:
valid_lft forever preferred_lft forever
54: qg-091949c0-13: <BROADCAST,
link/ether fa:16:3e:7c:5d:3f brd ff:ff:ff:ff:ff:ff
inet 36.250.72.178/24 brd 36.250.72.255 scope global qg-091949c0-13
valid_lft forever preferred_lft forever
inet 36.250.72.179/32 brd 36.250.72.179 scope global qg-091949c0-13
valid_lft forever preferred_lft forever
inet6 fe80::f816:
valid_lft forever preferred_lft forever
And I can ping public gateway and internal port from namespace:
root@ubuntu:~# ip netns exec qrouter-
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.594 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.178 ms
^C
--- 192.168.1.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1017ms
rtt min/avg/max/mdev = 0.178/0.
root@ubuntu:~# ip netns exec qrouter-
PING 79.61.92.177 (36.250.72.177) 56(84) bytes of data.
64 bytes from 36.250.72.177: icmp_seq=1 ttl=255 time=0.277 ms
64 bytes from 36.250.72.177: icmp_seq=2 ttl=255 time=0.275 ms
64 bytes from 36.250.72.177: icmp_seq=3 ttl=255 time=0.309 ms
^C
--- 36.250.72.177 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.275/0.
And the instance can alos access exteral network normally
root@instance:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=255 time=0.277 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=255 time=0.275 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=255 time=0.309 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.275/0.
but after I associate a floatingip to this port(floatingip is:36.250.72.180):
neutron floatingip-
I can not access from 36.250.72.180 to instance and instance also can not access to external network.
but from the namespace the network still shown normally.
I doubt the error occurs in my wrong neutron configurations. but in some case, the floatingip can access normally and no longer appears.
I only can reproduce when a create a new neutron router and reassociate the floatingip to a port that attach to this router in a new namespace.
the following show the iptables and ovs configuration when error occurs:
root@ubuntu:~# ip netns exec qrouter-
# Generated by iptables-save v1.6.1 on Fri Nov 15 05:16:28 2019
*raw
:PREROUTING ACCEPT [113408:41184050]
:OUTPUT ACCEPT [9442:553311]
:neutron-
:neutron-
-A PREROUTING -j neutron-
-A OUTPUT -j neutron-
COMMIT
# Completed on Fri Nov 15 05:16:28 2019
# Generated by iptables-save v1.6.1 on Fri Nov 15 05:16:28 2019
*nat
:PREROUTING ACCEPT [2515:147604]
:INPUT ACCEPT [1126:64144]
:OUTPUT ACCEPT [1:84]
:POSTROUTING ACCEPT [1148:66130]
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
-A PREROUTING -j neutron-
-A OUTPUT -j neutron-
-A POSTROUTING -j neutron-
-A POSTROUTING -j neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
COMMIT
# Completed on Fri Nov 15 05:16:28 2019
# Generated by iptables-save v1.6.1 on Fri Nov 15 05:16:28 2019
*mangle
:PREROUTING ACCEPT [113408:41184050]
:INPUT ACCEPT [15649:855387]
:FORWARD ACCEPT [97758:40328619]
:OUTPUT ACCEPT [9442:553311]
:POSTROUTING ACCEPT [107200:40881930]
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
-A PREROUTING -j neutron-
-A INPUT -j neutron-
-A FORWARD -j neutron-
-A OUTPUT -j neutron-
-A POSTROUTING -j neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
COMMIT
# Completed on Fri Nov 15 05:16:28 2019
# Generated by iptables-save v1.6.1 on Fri Nov 15 05:16:28 2019
*filter
:INPUT ACCEPT [2645:125707]
:FORWARD ACCEPT [8778:536139]
:OUTPUT ACCEPT [1143:66815]
:neutron-filter-top - [0:0]
:neutron-
:neutron-
:neutron-
:neutron-
:neutron-
-A INPUT -j neutron-
-A FORWARD -j neutron-filter-top
-A FORWARD -j neutron-
-A OUTPUT -j neutron-filter-top
-A OUTPUT -j neutron-
-A neutron-filter-top -j neutron-
-A neutron-
-A neutron-
-A neutron-
-A neutron-
COMMIT
# Completed on Fri Nov 15 05:16:28 2019
(openvswitch-
b60c8aa9-
Manager "ptcp:6640:
Bridge br-tenant
Controller "tcp:127.
fail_mode: secure
Port "eno2"
Port br-tenant
Port phy-br-tenant
Bridge br-public
Controller "tcp:127.
fail_mode: secure
Port phy-br-public
Port br-public
Port "eno1"
Bridge br-int
Controller "tcp:127.
fail_mode: secure
Port br-int
Port "tap70437459-63"
tag: 15
Port "qr-66ff06af-8a"
tag: 12
Port "qr-edf5e7b0-1f"
tag: 15
Port "qg-320d72e5-13"
tag: 13
Port int-br-public
Port "qg-091949c0-13"
tag: 13
Port int-br-tenant
Port "tap8fb11d88-5a"
tag: 12
Port "tapbd651bdf-e5"
tag: 1
Port "qr-5eee18b8-35"
tag: 1
Hi, thanks for reporting. Which SDN controller do you use?