From: Vishal Agarwal Date: Wed, 25 Jun 2014 16:00:39 +0000 (+0530) Subject: Fix re-creation of the pool directory X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=d7318ff7123ea851e9d6953ef2c66f793ae46ca1;p=openstack-build%2Fneutron-build.git Fix re-creation of the pool directory Whenever vip is deleted the complete pool directory is deleted, but since pool is still alive the get_stats function recreates the directory. The fix prevents the re-creation of the directory. Respective unit test case is also modified Change-Id: I577e8e3a51db361210aa83a6c7f9b4f61210e924 Closes-Bug: #1317871 --- diff --git a/neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py b/neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py index 5cece4c3a..967c65e7f 100644 --- a/neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py +++ b/neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py @@ -146,7 +146,7 @@ class HaproxyNSDriver(agent_device_driver.AgentDeviceDriver): namespace = get_ns_name(pool_id) root_ns = ip_lib.IPWrapper(self.root_helper) - socket_path = self._get_state_file_path(pool_id, 'sock') + socket_path = self._get_state_file_path(pool_id, 'sock', False) if root_ns.netns.exists(namespace) and os.path.exists(socket_path): try: s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) @@ -157,7 +157,7 @@ class HaproxyNSDriver(agent_device_driver.AgentDeviceDriver): return False def get_stats(self, pool_id): - socket_path = self._get_state_file_path(pool_id, 'sock') + socket_path = self._get_state_file_path(pool_id, 'sock', False) TYPE_BACKEND_REQUEST = 2 TYPE_SERVER_REQUEST = 4 if os.path.exists(socket_path): diff --git a/neutron/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py b/neutron/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py index c80796796..8649e03b6 100644 --- a/neutron/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py +++ b/neutron/tests/unit/services/loadbalancer/drivers/haproxy/test_namespace_driver.py @@ -163,7 +163,7 @@ class TestHaproxyNSDriver(base.BaseTestCase): mock.patch('socket.socket'), mock.patch('os.path.exists'), ) as (gsp, ip_wrap, socket, path_exists): - gsp.side_effect = lambda x, y: '/pool/' + y + gsp.side_effect = lambda x, y, z: '/pool/' + y ip_wrap.return_value.netns.exists.return_value = True path_exists.return_value = True @@ -210,7 +210,7 @@ class TestHaproxyNSDriver(base.BaseTestCase): mock.patch('socket.socket'), mock.patch('os.path.exists'), ) as (gsp, socket, path_exists): - gsp.side_effect = lambda x, y: '/pool/' + y + gsp.side_effect = lambda x, y, z: '/pool/' + y path_exists.return_value = True socket.return_value = socket socket.recv.return_value = raw_stats