From 9b202a0fe857fc986ef33f9897f93ffdbf91660d Mon Sep 17 00:00:00 2001 From: Prakash M Bailkeri Date: Fri, 29 Apr 2016 04:36:54 -0700 Subject: [PATCH] Set the admin state of the pool member correctly to F5 "admin-state" parameter is handled as string wrongly. It is a bool. Fix the unit tests Change-Id: I31df3aa26035d3870a1670f40f877e0ea59b09a9 Closes-Bug: #1574855 (cherry picked from commit 6301d64aac96d56ae2dfbe4b1259dbc6a939f5d0) --- .../loadbalancer/drivers/f5/f5_driver.py | 6 ++--- .../svc_monitor/tests/test_f5_lb.py | 22 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/f5/f5_driver.py b/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/f5/f5_driver.py index e01146203ea..817ffc4900d 100644 --- a/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/f5/f5_driver.py +++ b/src/config/svc-monitor/svc_monitor/services/loadbalancer/drivers/f5/f5_driver.py @@ -294,7 +294,7 @@ def calculate_delta(self, bigip, old_pool_info, new_pool_info): folder=new_pool_info['tenant_id'], no_checks=True) # check admin state - if new_pool_info['members'][member]['admin_state'] == 'true': + if new_pool_info['members'][member]['admin_state']: bigip.pool.enable_member(name=new_pool_info['id'], ip_address=ip_address, port=int(new_pool_info['members'][member]['protocol_port']), @@ -336,7 +336,7 @@ def calculate_delta(self, bigip, old_pool_info, new_pool_info): if self.global_routed_mode: ip_address = ip_address + "%0" # check admin state - if new_pool_info['members'][member]['admin_state'] == 'true': + if new_pool_info['members'][member]['admin_state']: bigip.pool.enable_member(name=new_pool_info['id'], ip_address=ip_address, port=int(new_pool_info['members'][member]['protocol_port']), @@ -370,7 +370,7 @@ def calculate_delta(self, bigip, old_pool_info, new_pool_info): continue # Update the vip params if vip_property == 'admin_state': - if new_pool_info['vip']['params']['admin_state'] == 'true': + if new_pool_info['vip']['params']['admin_state']: bigip_vs.enable_virtual_server(name=new_pool_info['virtual_ip'], folder=new_pool_info['tenant_id']) else: diff --git a/src/config/svc-monitor/svc_monitor/tests/test_f5_lb.py b/src/config/svc-monitor/svc_monitor/tests/test_f5_lb.py index c1f7fd04c10..1cb01409585 100644 --- a/src/config/svc-monitor/svc_monitor/tests/test_f5_lb.py +++ b/src/config/svc-monitor/svc_monitor/tests/test_f5_lb.py @@ -157,7 +157,7 @@ def create_pool(self, uuid, fq_name_str, project=None, vip=None, hm=None): pool_obj['loadbalancer_pool_provider'] = 'f5' pool_obj['loadbalancer_pool_properties'] = \ {'protocol': 'HTTP', 'subnet_id': 'pool_subnet_id', - 'loadbalancer_method': 'ROUND_ROBIN', 'admin_state': 'true', + 'loadbalancer_method': 'ROUND_ROBIN', 'admin_state': True, 'session_persistence': None, 'persistence_cookie_name': None} if vip: pool_obj['virtual_ip_back_refs']=[{'uuid': vip.uuid}] @@ -181,7 +181,7 @@ def create_hm_obj(self, fq_name_str): 'timeout': '2', 'url_path': '/', 'monitor_type': 'HTTP', - 'admin_state': 'true'} + 'admin_state': True} return hm_obj #end create_hm_obj @@ -194,13 +194,13 @@ def create_hm(self, fq_name_str): def update_pool(self, pool_obj, vip=None): pool_obj.params['loadbalancer_method'] = 'LEAST_CONNECTIONS' pool_obj.params['protocol'] = 'HTTPS' - pool_obj.params['admin_state'] = 'false' + pool_obj.params['admin_state'] = False # end update_pool def update_vip(self, vip_obj, pool=None): vip_obj.params['connection_limit'] = '100' vip_obj.params['persistence_type'] = 'always' - vip_obj.params['admin_state'] = 'false' + vip_obj.params['admin_state'] = False # end update_vip def create_pool_members(self, pool_name, num_members): @@ -219,7 +219,7 @@ def create_pool_member(self, pool_name, member_name, member_address): {'enable': 'true', 'description': 'Test pool member'} pool_member_obj['loadbalancer_member_properties'] = \ {'protocol_port': '80', 'address': member_address, - 'weight': '1', 'status': 'up', 'admin_state': 'true'} + 'weight': '1', 'status': 'up', 'admin_state': True} member = config_db.LoadbalancerMemberSM.locate(pool_member_obj['uuid'], pool_member_obj) # end create_pool_member @@ -280,7 +280,7 @@ def create_vip(self, vip, project): 'protocol_port': '80', 'subnet_id': 'vip_subnet_id', 'protocol': 'HTTP', - 'admin_state': 'true', + 'admin_state': True, 'connection_limit': '-1', 'persistence_type': None, 'persistence_cookie_name': None, @@ -560,7 +560,7 @@ def test_update_pool_member_props(self): # Validate member admin_state update member = config_db.LoadbalancerMemberSM.get('member_1') - member.params['admin_state'] = 'false' + member.params['admin_state'] = False pool.add() self._mock_BigIp.return_value.pool.disable_member.assert_called_with( folder='tenant', ip_address='10.1.1.1%0', name='test-lb-pool', @@ -568,7 +568,7 @@ def test_update_pool_member_props(self): self._mock_BigIp.reset_mock() member = config_db.LoadbalancerMemberSM.get('member_1') - member.params['admin_state'] = 'true' + member.params['admin_state'] = True pool.add() self._mock_BigIp.return_value.pool.enable_member.assert_called_with( folder='tenant', ip_address='10.1.1.1%0', name='test-lb-pool', @@ -599,7 +599,7 @@ def test_update_pool_members_add_delete_update(self): '10.1.1.2') config_db.LoadbalancerMemberSM.delete('member_0') member = config_db.LoadbalancerMemberSM.get('member_1') - member.params['admin_state'] = 'false' + member.params['admin_state'] = False pool.add() @@ -707,12 +707,12 @@ def test_update_vip(self): description='vip:New Description', folder='tenant', name='vip') self._mock_BigIp.reset_mock() - vip.params['admin_state'] = 'false' + vip.params['admin_state'] = False pool.add() self._mock_BigIp.return_value.virtual_server.disable_virtual_server.assert_called_with( folder='tenant', name='vip') - vip.params['admin_state'] = 'true' + vip.params['admin_state'] = True pool.add() self._mock_BigIp.return_value.virtual_server.enable_virtual_server.assert_called_with( folder='tenant', name='vip')