diff --git a/neutron_lbaas/drivers/haproxy/namespace_driver.py b/neutron_lbaas/drivers/haproxy/namespace_driver.py index a55446e4e..5fa71200f 100644 --- a/neutron_lbaas/drivers/haproxy/namespace_driver.py +++ b/neutron_lbaas/drivers/haproxy/namespace_driver.py @@ -178,6 +178,9 @@ class HaproxyNSDriver(agent_device_driver.AgentDeviceDriver): ns = ip_lib.IPWrapper(namespace=namespace) ns.garbage_collect_namespace() + if loadbalancer_id in self.deployed_loadbalancers: + del self.deployed_loadbalancers[loadbalancer_id] + def remove_orphans(self, known_loadbalancer_ids): if not os.path.exists(self.state_path): return diff --git a/neutron_lbaas/tests/unit/drivers/haproxy/test_namespace_driver.py b/neutron_lbaas/tests/unit/drivers/haproxy/test_namespace_driver.py index c63fb8d54..ba69178d7 100644 --- a/neutron_lbaas/tests/unit/drivers/haproxy/test_namespace_driver.py +++ b/neutron_lbaas/tests/unit/drivers/haproxy/test_namespace_driver.py @@ -108,6 +108,7 @@ class TestHaproxyNSDriver(base.BaseTestCase): namespace=ns) mock_shutil.assert_called_once_with('/path/' + self.lb.id) mock_ns.garbage_collect_namespace.assert_called_once_with() + self.assertDictEqual(self.driver.deployed_loadbalancers, {}) @mock.patch('os.makedirs') @mock.patch('os.path.dirname')