NSX|V: ensure that monitor ID is persisted with LB alg update
Ensures that the monitor ID is persisted. The existing edge will be read to get the configured monitoring ID and that will be used. Change-Id: I6f7951520faa42380087f7d3f421ebff595782ff
This commit is contained in:
parent
8fa99768c3
commit
091cb5a148
@ -116,6 +116,12 @@ class EdgePoolManager(base_mgr.EdgeLoadbalancerBaseManager):
|
||||
|
||||
try:
|
||||
with locking.LockManager.get_lock(edge_id):
|
||||
# get the configured monitor-id
|
||||
org_edge_pool = self.vcns.get_pool(edge_id, edge_pool_id)[1]
|
||||
monitor_id = org_edge_pool.get('monitorId')
|
||||
if monitor_id:
|
||||
edge_pool['monitorId'] = monitor_id
|
||||
|
||||
self.vcns.update_pool(edge_id, edge_pool_id, edge_pool)
|
||||
|
||||
self.lbv2_driver.pool.successful_completion(context, new_pool)
|
||||
|
@ -401,14 +401,19 @@ class TestEdgeLbaasV2Pool(BaseTestEdgeLbaasV2):
|
||||
mock.patch.object(nsxv_db, 'get_nsxv_lbaas_pool_binding'
|
||||
) as mock_get_pool_binding,\
|
||||
mock.patch.object(self.edge_driver.vcns, 'update_pool'
|
||||
) as mock_upd_pool:
|
||||
) as mock_upd_pool,\
|
||||
mock.patch.object(self.edge_driver.vcns, 'get_pool'
|
||||
) as mock_get_pool:
|
||||
mock_get_lb_binding.return_value = LB_BINDING
|
||||
mock_get_pool_binding.return_value = POOL_BINDING
|
||||
|
||||
fake_edge = EDGE_POOL_DEF.copy()
|
||||
fake_edge['monitorId'] = 'monitor-7'
|
||||
mock_get_pool.return_value = (None, fake_edge)
|
||||
self.edge_driver.pool.update(self.context, self.pool, new_pool)
|
||||
|
||||
edge_pool_def = EDGE_POOL_DEF.copy()
|
||||
edge_pool_def['algorithm'] = 'leastconn'
|
||||
edge_pool_def['monitorId'] = 'monitor-7'
|
||||
mock_upd_pool.assert_called_with(
|
||||
LB_EDGE_ID, EDGE_POOL_ID, edge_pool_def)
|
||||
mock_successful_completion = (
|
||||
|
Loading…
x
Reference in New Issue
Block a user