]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Fix interface IP address for DVR with gateway
authorrajeev <rajeev.grover@hp.com>
Tue, 2 Sep 2014 15:06:25 +0000 (11:06 -0400)
committerrajeev <rajeev.grover@hp.com>
Tue, 2 Sep 2014 15:06:25 +0000 (11:06 -0400)
when an interface is added to a router with gateway, the method
internal_network_added(..) incorrectly configures the IP address
of the new snat interface same as the IP address of the new
subnet interface.

Change-Id: I00d4ff1105a443b89b28359249b8e83fb4c1d157
Closes-bug: #1355087

neutron/agent/l3_agent.py
neutron/tests/unit/test_l3_agent.py

index a6dd5ed0bad51757fae2f3f1dceba6b9f4a1f595..f632996d23208f87f8447ca61fcdd21071fdfdc7 100644 (file)
@@ -1425,7 +1425,8 @@ class L3NATAgent(firewall_l3_agent.FWaaSL3AgentRpcCallback, manager.Manager):
                           self.get_snat_int_device_name(sn_port['id']))
                     self._internal_network_added(ns_name,
                                                  sn_port['network_id'],
-                                                 sn_port['id'], internal_cidr,
+                                                 sn_port['id'],
+                                                 sn_port['ip_cidr'],
                                                  sn_port['mac_address'],
                                                  interface_name,
                                                  SNAT_INT_DEV_PREFIX)
index 5e80b66e0a3f5744c9c2d40e38aca41b8775a4fb..79cbe28abfdc8fb3e603b5c8f5110811b8782e02 100644 (file)
@@ -446,6 +446,14 @@ class TestBasicRouterOperations(base.BaseTestCase):
             self.assertEqual(agent._snat_redirect_add.call_count, 1)
             self.assertEqual(agent._set_subnet_info.call_count, 1)
             self.assertEqual(agent._internal_network_added.call_count, 2)
+            agent._internal_network_added.assert_called_with(
+                agent.get_snat_ns_name(ri.router['id']),
+                sn_port['network_id'],
+                sn_port['id'],
+                sn_port['ip_cidr'],
+                sn_port['mac_address'],
+                agent.get_snat_int_device_name(sn_port['id']),
+                l3_agent.SNAT_INT_DEV_PREFIX)
 
     def test_agent_add_internal_network(self):
         self._test_internal_network_action('add')