From b83154df92c786a40c02c3432c0a39d21718159a Mon Sep 17 00:00:00 2001 From: asarfaty Date: Mon, 16 Nov 2020 08:45:29 +0200 Subject: [PATCH] NSX|P: Fix loadbalancer delete cascade for pools When the pool is deleted the listeners were already removed. Change-Id: I742ae44fca3c40fae4b0dc4ad577be57765c59ee --- .../services/lbaas/nsx_p/implementation/pool_mgr.py | 5 +++++ vmware_nsx/tests/unit/services/lbaas/test_nsxp_driver.py | 8 ++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/vmware_nsx/services/lbaas/nsx_p/implementation/pool_mgr.py b/vmware_nsx/services/lbaas/nsx_p/implementation/pool_mgr.py index a5a262b4a5..3a92250f2f 100644 --- a/vmware_nsx/services/lbaas/nsx_p/implementation/pool_mgr.py +++ b/vmware_nsx/services/lbaas/nsx_p/implementation/pool_mgr.py @@ -240,4 +240,9 @@ class EdgePoolManagerFromDict(base_mgr.NsxpLoadbalancerBaseManager): completor(success=True) def delete_cascade(self, context, pool, completor): + # Listeners were already deleted + pool['listeners'] = [] + pool['listener'] = None + pool['listener_id'] = None + self.delete(context, pool, completor) diff --git a/vmware_nsx/tests/unit/services/lbaas/test_nsxp_driver.py b/vmware_nsx/tests/unit/services/lbaas/test_nsxp_driver.py index ee00d973a2..11e34ddbf8 100644 --- a/vmware_nsx/tests/unit/services/lbaas/test_nsxp_driver.py +++ b/vmware_nsx/tests/unit/services/lbaas/test_nsxp_driver.py @@ -1358,16 +1358,12 @@ class TestEdgeLbaasV2Pool(BaseTestEdgeLbaasV2): def test_delete_cascade(self): self.reset_completor() - with mock.patch.object(self.vs_client, 'update', return_value=None - ) as mock_update_virtual_server, \ - mock.patch.object(self.pool_client, 'delete' - ) as mock_delete_pool: + with mock.patch.object(self.pool_client, 'delete' + ) as mock_delete_pool: self.edge_driver.pool.delete_cascade( self.context, self.pool_dict, self.completor) - mock_update_virtual_server.assert_called_with( - LB_VS_ID, lb_persistence_profile_id=None, pool_id=None) mock_delete_pool.assert_called_with(LB_POOL_ID) self.assertTrue(self.last_completor_called) self.assertTrue(self.last_completor_succees)