NSX|P: Validate lb listener connection limit value

Change-Id: Icaa3eba7facb3ebbd54e1d363e9820b79d128ed9
This commit is contained in:
asarfaty 2021-01-27 09:21:41 +02:00 committed by Adit Sarfaty
parent 123238d513
commit 297bb7a389
2 changed files with 11 additions and 8 deletions

View File

@ -95,8 +95,14 @@ class EdgeListenerManagerFromDict(base_mgr.NsxpLoadbalancerBaseManager):
kwargs['name'] = vs_name
if tags:
kwargs['tags'] = tags
if listener['connection_limit'] != -1:
kwargs['max_concurrent_connections'] = listener['connection_limit']
if (listener['connection_limit'] is not None and
listener['connection_limit'] != -1):
val = listener['connection_limit']
if val >= 1:
kwargs['max_concurrent_connections'] = val
else:
LOG.warning("Ignoring illegal listener connection_limit %s",
val)
if 'default_pool_id' in listener:
if listener['default_pool_id']:
kwargs['pool_id'] = listener['default_pool_id']

View File

@ -757,7 +757,6 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
tags=mock.ANY,
name=mock.ANY,
ports=[listener['protocol_port']],
max_concurrent_connections=None,
virtual_server_id=listener_id,
pool_id='',
lb_persistence_profile_id='')
@ -817,7 +816,6 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
tags=mock.ANY,
name=mock.ANY,
ports=[self.terminated_https_listener_dict['protocol_port']],
max_concurrent_connections=None,
virtual_server_id=HTTPS_LISTENER_ID,
pool_id='',
lb_persistence_profile_id='')
@ -843,6 +841,7 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
) as mock_add_virtual_server:
mock_get_floatingips.return_value = []
listener_dict['connection_limit'] = 7
self.edge_driver.listener.create(self.context, listener_dict,
self.completor)
@ -854,7 +853,7 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
tags=mock.ANY,
name=mock.ANY,
ports=[listener_dict['protocol_port']],
max_concurrent_connections=None,
max_concurrent_connections=7,
virtual_server_id=LISTENER_ID,
pool_id=POOL_ID)
self.assertTrue(self.last_completor_called)
@ -904,7 +903,7 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
mock.patch.object(self.pp_cookie_client, 'create_or_overwrite'
) as mock_create_pp:
mock_get_floatingips.return_value = []
listener_dict['connection_limit'] = -1 # Should be ignored
self.edge_driver.listener.create(self.context, listener_dict,
self.completor)
mock_add_virtual_server.assert_called_with(
@ -915,7 +914,6 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
tags=mock.ANY,
name=mock.ANY,
ports=[listener_dict['protocol_port']],
max_concurrent_connections=None,
virtual_server_id=LISTENER_ID,
pool_id=listener_dict['default_pool_id'])
mock_create_pp.assert_called_once()
@ -970,7 +968,6 @@ class TestEdgeLbaasV2Listener(BaseTestEdgeLbaasV2):
tags=mock.ANY,
name=mock.ANY,
ports=[listener['protocol_port']],
max_concurrent_connections=None,
virtual_server_id=listener_id,
pool_id='',
lb_persistence_profile_id='')