diff --git a/neutron/agent/dhcp/agent.py b/neutron/agent/dhcp/agent.py index 1942fc65262..89fd0773ed5 100644 --- a/neutron/agent/dhcp/agent.py +++ b/neutron/agent/dhcp/agent.py @@ -379,7 +379,7 @@ class DhcpAgent(manager.Manager): def disable_isolated_metadata_proxy(self, network): metadata_driver.MetadataDriver.destroy_monitored_metadata_proxy( - self._process_monitor, network.id, network.namespace, self.conf) + self._process_monitor, network.id, self.conf) class DhcpPluginApi(object): diff --git a/neutron/agent/l3/ha.py b/neutron/agent/l3/ha.py index ffe6a82c54a..95f3fd76355 100644 --- a/neutron/agent/l3/ha.py +++ b/neutron/agent/l3/ha.py @@ -134,7 +134,7 @@ class AgentMixin(object): else: LOG.debug('Closing metadata proxy for router %s', router_id) self.metadata_driver.destroy_monitored_metadata_proxy( - self.process_monitor, ri.router_id, ri.ns_name, self.conf) + self.process_monitor, ri.router_id, self.conf) def _update_radvd_daemon(self, ri, state): # Radvd has to be spawned only on the Master HA Router. If there are diff --git a/neutron/agent/metadata/driver.py b/neutron/agent/metadata/driver.py index 437e5efe0b2..94e2a309240 100644 --- a/neutron/agent/metadata/driver.py +++ b/neutron/agent/metadata/driver.py @@ -116,19 +116,21 @@ class MetadataDriver(object): uuid = network_id or router_id callback = cls._get_metadata_proxy_callback( port, conf, network_id=network_id, router_id=router_id) - pm = cls._get_metadata_proxy_process_manager(uuid, ns_name, conf, + pm = cls._get_metadata_proxy_process_manager(uuid, conf, + ns_name=ns_name, callback=callback) pm.enable() monitor.register(uuid, METADATA_SERVICE_NAME, pm) @classmethod - def destroy_monitored_metadata_proxy(cls, monitor, uuid, ns_name, conf): + def destroy_monitored_metadata_proxy(cls, monitor, uuid, conf): monitor.unregister(uuid, METADATA_SERVICE_NAME) - pm = cls._get_metadata_proxy_process_manager(uuid, ns_name, conf) + # No need to pass ns name as it's not needed for disable() + pm = cls._get_metadata_proxy_process_manager(uuid, conf) pm.disable() @classmethod - def _get_metadata_proxy_process_manager(cls, router_id, ns_name, conf, + def _get_metadata_proxy_process_manager(cls, router_id, conf, ns_name=None, callback=None): return external_process.ProcessManager( conf=conf, @@ -172,5 +174,4 @@ def before_router_removed(resource, event, l3_agent, **kwargs): proxy.destroy_monitored_metadata_proxy(l3_agent.process_monitor, router.router['id'], - router.ns_name, l3_agent.conf) diff --git a/neutron/tests/unit/agent/dhcp/test_agent.py b/neutron/tests/unit/agent/dhcp/test_agent.py index 2dcda88f662..6ea10afefd5 100644 --- a/neutron/tests/unit/agent/dhcp/test_agent.py +++ b/neutron/tests/unit/agent/dhcp/test_agent.py @@ -567,10 +567,10 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): ) self.external_process = self.external_process_p.start() - def _process_manager_constructor_call(self): + def _process_manager_constructor_call(self, ns=FAKE_NETWORK_DHCP_NS): return mock.call(conf=cfg.CONF, uuid=FAKE_NETWORK_UUID, - namespace=FAKE_NETWORK_DHCP_NS, + namespace=ns, default_cmd_callback=mock.ANY) def _enable_dhcp_helper(self, network, enable_isolated_metadata=False, @@ -709,7 +709,7 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): self.call_driver.assert_called_once_with('disable', fake_network) if isolated_metadata: self.external_process.assert_has_calls([ - self._process_manager_constructor_call(), + self._process_manager_constructor_call(ns=None), mock.call().disable()]) else: self.assertFalse(self.external_process.call_count) @@ -741,7 +741,7 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): [mock.call.get_network_by_id(fake_network.id)]) if isolated_metadata: self.external_process.assert_has_calls([ - self._process_manager_constructor_call(), + self._process_manager_constructor_call(ns=None), mock.call().disable() ]) else: @@ -768,7 +768,6 @@ class TestDhcpAgentEventHandler(base.BaseTestCase): self.dhcp.disable_isolated_metadata_proxy(fake_network) destroy.assert_called_once_with(self.dhcp._process_monitor, fake_network.id, - fake_network.namespace, cfg.CONF) def _test_metadata_network(self, network): diff --git a/neutron/tests/unit/agent/l3/test_agent.py b/neutron/tests/unit/agent/l3/test_agent.py index d27d017849b..5f0852b2e88 100644 --- a/neutron/tests/unit/agent/l3/test_agent.py +++ b/neutron/tests/unit/agent/l3/test_agent.py @@ -1974,7 +1974,6 @@ class TestBasicRouterOperations(BasicRouterOperationsFramework): if enableflag: destroy_proxy.assert_called_with(mock.ANY, router_id, - mock.ANY, mock.ANY) else: self.assertFalse(destroy_proxy.call_count)