← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1651813] [NEW] Csnat port missing after update router gateway to another network

 

Public bug reported:

When updating router gateway to another external network, original csnat ports are deleted in db, but no new ports are created. 
Besides, stale devices belong to the original network remains in the snat namespace.

How to reproduce:

- create two external network, one internal network, one distributed router
- add the internal network interface to the router, set the router's gateway to the first external network 
- set the router's gateway to another external network, csnat ports will be deleted in db, stale devices "qg-XXX" will be found in snat namespace.

$ neutron router-port-list test -c id -c mac_address -c fixed_ips -c device_owner
+--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+
| id                                   | mac_address       | fixed_ips                                                                            | device_owner                         |
+--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+
| 233f23b2-7cda-415b-80f3-27d1a014518f | fa:16:3e:b3:8d:4b | {"subnet_id": "c1918178-4697-4de7-9c92-ff618ae8a6ee", "ip_address": "172.16.1.252"}  | network:router_gateway               |
| 91e2e5f2-30d7-4c1d-9fe8-b42bfab2b67e | fa:16:3e:3e:dc:60 | {"subnet_id": "0537a1e9-a30c-433e-b034-023b74916821", "ip_address": "192.168.100.1"} | network:router_interface_distributed |
+--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+

$ sudo ip netns exec snat-c618e83d-0ab9-48fc-8efa-a25b7b947978 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    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
42: sg-49fc22d0-cd: <BROADCAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
    link/ether fa:16:3e:ad:29:1d brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.9/24 brd 192.168.100.255 scope global sg-49fc22d0-cd
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fead:291d/64 scope link
       valid_lft forever preferred_lft forever
46: qg-d4ce7b19-cb: <BROADCAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
    link/ether fa:16:3e:c2:bc:45 brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.8/24 brd 192.168.200.255 scope global qg-d4ce7b19-cb
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fec2:bc45/64 scope link
       valid_lft forever preferred_lft forever
47: qg-233f23b2-7c: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
    link/ether fa:16:3e:b3:8d:4b brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.252/24 brd 172.16.1.255 scope global qg-233f23b2-7c
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:feb3:8d4b/64 scope link
       valid_lft forever preferred_lft forever

** Affects: neutron
     Importance: Undecided
     Assignee: Quan Tian (tianquan23)
         Status: In Progress

** Changed in: neutron
     Assignee: (unassigned) => Quan Tian (tianquan23)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1651813

Title:
  Csnat port missing after update router gateway to another network

Status in neutron:
  In Progress

Bug description:
  When updating router gateway to another external network, original csnat ports are deleted in db, but no new ports are created. 
  Besides, stale devices belong to the original network remains in the snat namespace.

  How to reproduce:

  - create two external network, one internal network, one distributed router
  - add the internal network interface to the router, set the router's gateway to the first external network 
  - set the router's gateway to another external network, csnat ports will be deleted in db, stale devices "qg-XXX" will be found in snat namespace.

  $ neutron router-port-list test -c id -c mac_address -c fixed_ips -c device_owner
  +--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+
  | id                                   | mac_address       | fixed_ips                                                                            | device_owner                         |
  +--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+
  | 233f23b2-7cda-415b-80f3-27d1a014518f | fa:16:3e:b3:8d:4b | {"subnet_id": "c1918178-4697-4de7-9c92-ff618ae8a6ee", "ip_address": "172.16.1.252"}  | network:router_gateway               |
  | 91e2e5f2-30d7-4c1d-9fe8-b42bfab2b67e | fa:16:3e:3e:dc:60 | {"subnet_id": "0537a1e9-a30c-433e-b034-023b74916821", "ip_address": "192.168.100.1"} | network:router_interface_distributed |
  +--------------------------------------+-------------------+--------------------------------------------------------------------------------------+--------------------------------------+

  $ sudo ip netns exec snat-c618e83d-0ab9-48fc-8efa-a25b7b947978 ip a
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
      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
  42: sg-49fc22d0-cd: <BROADCAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
      link/ether fa:16:3e:ad:29:1d brd ff:ff:ff:ff:ff:ff
      inet 192.168.100.9/24 brd 192.168.100.255 scope global sg-49fc22d0-cd
         valid_lft forever preferred_lft forever
      inet6 fe80::f816:3eff:fead:291d/64 scope link
         valid_lft forever preferred_lft forever
  46: qg-d4ce7b19-cb: <BROADCAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
      link/ether fa:16:3e:c2:bc:45 brd ff:ff:ff:ff:ff:ff
      inet 192.168.200.8/24 brd 192.168.200.255 scope global qg-d4ce7b19-cb
         valid_lft forever preferred_lft forever
      inet6 fe80::f816:3eff:fec2:bc45/64 scope link
         valid_lft forever preferred_lft forever
  47: qg-233f23b2-7c: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default
      link/ether fa:16:3e:b3:8d:4b brd ff:ff:ff:ff:ff:ff
      inet 172.16.1.252/24 brd 172.16.1.255 scope global qg-233f23b2-7c
         valid_lft forever preferred_lft forever
      inet6 fe80::f816:3eff:feb3:8d4b/64 scope link
         valid_lft forever preferred_lft forever

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1651813/+subscriptions


Follow ups