You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by pe...@apache.org on 2023/10/30 23:53:12 UTC
(cloudstack) 02/04: fix deletion of lb rules
This is an automated email from the ASF dual-hosted git repository.
pearl11594 pushed a commit to branch nsx-add-lb-rule
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit d9dba4fbac6740f1a503e02462213f77042dbd76
Author: Pearl Dsilva <pe...@gmail.com>
AuthorDate: Fri Oct 27 16:10:34 2023 -0400
fix deletion of lb rules
---
.../org/apache/cloudstack/service/NsxApiClient.java | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java
index 736eeeca262..8b108d0929a 100644
--- a/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java
+++ b/plugins/network-elements/nsx/src/main/java/org/apache/cloudstack/service/NsxApiClient.java
@@ -39,9 +39,11 @@ import com.vmware.nsx_policy.model.EnforcementPointListResult;
import com.vmware.nsx_policy.model.L4PortSetServiceEntry;
import com.vmware.nsx_policy.model.LBAppProfileListResult;
import com.vmware.nsx_policy.model.LBPool;
+import com.vmware.nsx_policy.model.LBPoolListResult;
import com.vmware.nsx_policy.model.LBPoolMember;
import com.vmware.nsx_policy.model.LBService;
import com.vmware.nsx_policy.model.LBVirtualServer;
+import com.vmware.nsx_policy.model.LBVirtualServerListResult;
import com.vmware.nsx_policy.model.LocaleServicesListResult;
import com.vmware.nsx_policy.model.PolicyNatRule;
import com.vmware.nsx_policy.model.Segment;
@@ -497,17 +499,21 @@ public class NsxApiClient {
// Delete associated Virtual servers
LbVirtualServers lbVirtualServers = (LbVirtualServers) nsxService.apply(LbVirtualServers.class);
String lbVirtualServerName = getVirtualServerName(tier1GatewayName, lbId);
- lbVirtualServers.delete(lbVirtualServerName, true);
+ lbVirtualServers.delete(lbVirtualServerName, false);
// Delete LB pool
LbPools lbPools = (LbPools) nsxService.apply(LbPools.class);
- String lbServerPoolName = getServerPoolName(tier1GatewayName, vmId);
- lbPools.delete(lbServerPoolName, true);
+ String lbServerPoolName = getServerPoolName(tier1GatewayName, lbId);
+ lbPools.delete(lbServerPoolName, false);
// Delete load balancer
- String lbName = getLoadBalancerName(tier1GatewayName);
- LbServices lbServices = (LbServices) nsxService.apply(LbServices.class);
- lbServices.delete(lbName, true);
+ LBVirtualServerListResult lbVsListResult = lbVirtualServers.list(null, null, null, null, null, null);
+ LBPoolListResult lbPoolListResult = lbPools.list(null, null, null, null, null, null);
+ if (CollectionUtils.isEmpty(lbVsListResult.getResults()) && CollectionUtils.isEmpty(lbPoolListResult.getResults())) {
+ String lbName = getLoadBalancerName(tier1GatewayName);
+ LbServices lbServices = (LbServices) nsxService.apply(LbServices.class);
+ lbServices.delete(lbName, true);
+ }
} catch (Error error) {
ApiError ae = error.getData()._convertTo(ApiError.class);