SNAT interface not created for dvrha in some scenarios
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
Medium
|
Adolfo Duarte |
Bug Description
branch: master
commit: 4e3a9c2b9c0ada6
Depending on the order neutron router commands are given, the snat interface for a dvrha router on the dvr_snat agent might not get created.
look at following interaction:
--create a couple of network and subnets we will use (public and private)
neutron net-create public --router:external
neutron subnet-create public 192.168.201.0/24 --disable_dhcp
neutron net-create n1
neutron subnet-create n1 101.0.0.0/24 --name s1
-- now we create and attach router in particular order: first set external gateway and then attach private subnet.
neutron router-create dvrha --distributed=True --ha=True
neutron router-gateway-set dvrha public
neutron router-
neutron router-port-list dvrha -c fixed_ips
+------
| fixed_ips |
+------
| {"subnet_id": "b4a81968-
| {"subnet_id": "b4a81968-
| {"subnet_id": "782574e8-
| {"subnet_id": "782574e8-
| {"subnet_id": "0173f29d-
| {"subnet_id": "782574e8-
*** as you can see there are two interfaces on subnet 101/24: 101.0.0.3, and 101.0.0.1, one is the router interface the other is the snat interface
THIS IS CORRECT BEHAVIOR
*** next we change the order of the commands:
-- first clean up
neutron router-
neutron router-
neutron router-delete dvrha
-- This time, we add the internal interface before setting the external gateway. (reverse order of steps)
neutron router-create dvrha --distributed=True --ha=True
neutron router-
neutron router-gateway-set dvrha public
neutron router-port-list dvrha -c fixed_ips
+------
| fixed_ips |
+------
| {"subnet_id": "0173f29d-
| {"subnet_id": "e9c7148e-
| {"subnet_id": "b4a81968-
| {"subnet_id": "e9c7148e-
+------
*** this time the snat interface is NOT created.
-- we can fix this by toggling the internal subnet connection to the router:
neutron router-
Removed interface from router dvrha.
neutron router-
Added interface c3cb410d-
neutron router-port-list dvrha -c fixed_ips
+------
| fixed_ips |
+------
| {"subnet_id": "0173f29d-
| {"subnet_id": "e9c7148e-
| {"subnet_id": "b4a81968-
| {"subnet_id": "b4a81968-
| {"subnet_id": "e9c7148e-
now the snat port is created (101.0.0.5)
tags: | added: l3-dvr-backlog l3-ha |
Changed in neutron: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in neutron: | |
assignee: | nobody → Adolfo Duarte (adolfo-duarte) |
status: | Confirmed → In Progress |
tags: | added: mitaka-backport-potential |
tags: | added: liberty-backport-potential |
tags: | added: neutron-proactive-backport-potential |
tags: | removed: neutron-proactive-backport-potential |
Fix proposed to branch: master /review. openstack. org/307526
Review: https:/