From: Brian Haley Date: Thu, 13 Aug 2015 20:57:59 +0000 (-0400) Subject: Remove 'action' argument from _handle_fip_nat_rules() X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=228206c024452287e07fbbed2b8059d04da8c0b9;p=openstack-build%2Fneutron-build.git Remove 'action' argument from _handle_fip_nat_rules() There's only one caller of _handle_fip_nat_rules(), and they always specify 'add_rules' as the argument, so it's not necessary any more. Also, the interface passed must be valid since the caller has already used it, and would have thrown an exception before this call was made. Found during another code review. Change-Id: Ie7d4faf2d1bb8e0e8fc4ffc3f18e9214474acf5c --- diff --git a/neutron/agent/l3/dvr_fip_ns.py b/neutron/agent/l3/dvr_fip_ns.py index 90e24d129..74981ea69 100644 --- a/neutron/agent/l3/dvr_fip_ns.py +++ b/neutron/agent/l3/dvr_fip_ns.py @@ -217,7 +217,7 @@ class FipNamespace(namespaces.Namespace): device = ip_lib.IPDevice(rtr_2_fip_name, namespace=ri.ns_name) device.route.add_gateway(str(fip_2_rtr.ip), table=FIP_RT_TBL) #setup the NAT rules and chains - ri._handle_fip_nat_rules(rtr_2_fip_name, 'add_rules') + ri._handle_fip_nat_rules(rtr_2_fip_name) def scan_fip_ports(self, ri): # don't scan if not dvr or count is not None diff --git a/neutron/agent/l3/dvr_local_router.py b/neutron/agent/l3/dvr_local_router.py index e14fc2d17..993bfc612 100644 --- a/neutron/agent/l3/dvr_local_router.py +++ b/neutron/agent/l3/dvr_local_router.py @@ -47,7 +47,7 @@ class DvrLocalRouter(dvr_router_base.DvrRouterBase): floating_ips = super(DvrLocalRouter, self).get_floating_ips() return [i for i in floating_ips if i['host'] == self.host] - def _handle_fip_nat_rules(self, interface_name, action): + def _handle_fip_nat_rules(self, interface_name): """Configures NAT rules for Floating IPs for DVR. Remove all the rules. This is safe because if @@ -61,13 +61,13 @@ class DvrLocalRouter(dvr_router_base.DvrRouterBase): # Add back the jump to float-snat self.iptables_manager.ipv4['nat'].add_rule('snat', '-j $float-snat') - # And add them back if the action is add_rules - if action == 'add_rules' and interface_name: - rule = ('POSTROUTING', '! -i %(interface_name)s ' - '! -o %(interface_name)s -m conntrack ! ' - '--ctstate DNAT -j ACCEPT' % - {'interface_name': interface_name}) - self.iptables_manager.ipv4['nat'].add_rule(*rule) + # And add the NAT rule back + rule = ('POSTROUTING', '! -i %(interface_name)s ' + '! -o %(interface_name)s -m conntrack ! ' + '--ctstate DNAT -j ACCEPT' % + {'interface_name': interface_name}) + self.iptables_manager.ipv4['nat'].add_rule(*rule) + self.iptables_manager.apply() def floating_ip_added_dist(self, fip, fip_cidr):