From 35ae3206c5fc172e856ca1f86837bdef52769bb5 Mon Sep 17 00:00:00 2001 From: Adit Sarfaty Date: Sun, 18 Jun 2017 09:49:34 +0300 Subject: [PATCH] NSX|V: Keep existing members when updating LBaaS pool Change-Id: I92dc082e38c5c38261a15ababb0877d2e0ec257d --- vmware_nsx/services/lbaas/nsx_v/v2/pool_mgr.py | 4 ++++ .../tests/unit/nsx_v/test_edge_loadbalancer_driver_v2.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/vmware_nsx/services/lbaas/nsx_v/v2/pool_mgr.py b/vmware_nsx/services/lbaas/nsx_v/v2/pool_mgr.py index f766110a02..7632fba2cb 100644 --- a/vmware_nsx/services/lbaas/nsx_v/v2/pool_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_v/v2/pool_mgr.py @@ -122,6 +122,10 @@ class EdgePoolManager(base_mgr.EdgeLoadbalancerBaseManager): if monitor_id: edge_pool['monitorId'] = monitor_id + # Keep the current members + if org_edge_pool.get('member'): + edge_pool['member'] = org_edge_pool['member'] + self.vcns.update_pool(edge_id, edge_pool_id, edge_pool) self.lbv2_driver.pool.successful_completion(context, new_pool) diff --git a/vmware_nsx/tests/unit/nsx_v/test_edge_loadbalancer_driver_v2.py b/vmware_nsx/tests/unit/nsx_v/test_edge_loadbalancer_driver_v2.py index f46694d468..39f59d5c91 100644 --- a/vmware_nsx/tests/unit/nsx_v/test_edge_loadbalancer_driver_v2.py +++ b/vmware_nsx/tests/unit/nsx_v/test_edge_loadbalancer_driver_v2.py @@ -430,12 +430,14 @@ class TestEdgeLbaasV2Pool(BaseTestEdgeLbaasV2): mock_get_pool_binding.return_value = POOL_BINDING fake_edge = EDGE_POOL_DEF.copy() fake_edge['monitorId'] = 'monitor-7' + fake_edge['member'] = ['member1', 'member2'] 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' + edge_pool_def['member'] = ['member1', 'member2'] mock_upd_pool.assert_called_with( LB_EDGE_ID, EDGE_POOL_ID, edge_pool_def) mock_upd_app_prof.assert_called_with(LB_EDGE_ID,