diff -Nru neutron-lbaas-8.3.0/debian/changelog neutron-lbaas-8.3.0/debian/changelog --- neutron-lbaas-8.3.0/debian/changelog 2016-10-15 13:06:47.000000000 +0100 +++ neutron-lbaas-8.3.0/debian/changelog 2017-02-13 15:43:20.000000000 +0000 @@ -1,3 +1,10 @@ +neutron-lbaas (2:8.3.0-0ubuntu1~cloud1) trusty-mitaka; urgency=medium + + * Add patch to ensure namespace deleted by v1 driver delete_pool (LP: #1664203) + - d/p/ensure_namespace_deleted_with_pool.patch + + -- Edward Hope-Morley Mon, 13 Feb 2017 15:17:31 +0000 + neutron-lbaas (2:8.3.0-0ubuntu1~cloud0) trusty-mitaka; urgency=medium * New upstream release for the Ubuntu Cloud Archive. diff -Nru neutron-lbaas-8.3.0/debian/patches/ensure_namespace_delete_with_pool.patch neutron-lbaas-8.3.0/debian/patches/ensure_namespace_delete_with_pool.patch --- neutron-lbaas-8.3.0/debian/patches/ensure_namespace_delete_with_pool.patch 1970-01-01 01:00:00.000000000 +0100 +++ neutron-lbaas-8.3.0/debian/patches/ensure_namespace_delete_with_pool.patch 2017-02-13 15:17:24.000000000 +0000 @@ -0,0 +1,40 @@ +Description: Ensure namespace delete with pool + +Ensure that when a pool is deleted, its namepsace is +also deleted. + +Origin: other +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/neutron-lbaas/+bug/1664203 + +--- neutron-lbaas-8.3.0.orig/neutron_lbaas/services/loadbalancer/drivers/haproxy/namespace_driver.py ++++ neutron-lbaas-8.3.0/neutron_lbaas/services/loadbalancer/drivers/haproxy/namespace_driver.py +@@ -145,7 +145,7 @@ class HaproxyNSDriver(agent_device_drive + if os.path.isdir(conf_dir): + shutil.rmtree(conf_dir) + +- if delete_namespace: ++ if delete_namespace and ip_lib.IPWrapper().netns.exists(namespace): + ns = ip_lib.IPWrapper(namespace=namespace) + ns.garbage_collect_namespace() + +@@ -361,8 +361,7 @@ class HaproxyNSDriver(agent_device_drive + self._refresh_device(pool['id']) + + def delete_pool(self, pool): +- if self.exists(pool['id']): +- self.undeploy_instance(pool['id'], delete_namespace=True) ++ self.undeploy_instance(pool['id'], delete_namespace=True) + + def create_member(self, member): + self._refresh_device(member['pool_id']) +--- neutron-lbaas-8.3.0.orig/neutron_lbaas/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py ++++ neutron-lbaas-8.3.0/neutron_lbaas/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py +@@ -563,7 +563,7 @@ class TestHaproxyNSDriver(base.BaseTestC + ) as (undeploy, exists): + exists.return_value = False + self.driver.delete_pool({'id': '1'}) +- self.assertFalse(undeploy.called) ++ self.assertTrue(undeploy.called) + + def test_create_member(self): + with mock.patch.object(self.driver, '_refresh_device') as refresh: diff -Nru neutron-lbaas-8.3.0/debian/patches/series neutron-lbaas-8.3.0/debian/patches/series --- neutron-lbaas-8.3.0/debian/patches/series 2016-10-13 20:32:27.000000000 +0100 +++ neutron-lbaas-8.3.0/debian/patches/series 2017-02-13 15:43:40.000000000 +0000 @@ -1 +1,2 @@ skip-failing-tests.patch +ensure_namespace_delete_with_pool.patch