From bd9be1239cd309f9627d97c90b9381e8bccdf7aa Mon Sep 17 00:00:00 2001 From: nvazquez Date: Sun, 12 Nov 2023 22:55:17 -0300 Subject: [PATCH] Remove group for segment before removing segment --- .../java/org/apache/cloudstack/service/NsxApiClient.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 eb42284dd43..d2c58d677aa 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 @@ -384,6 +384,7 @@ public class NsxApiClient { public void deleteSegment(long zoneId, long domainId, long accountId, Long vpcId, long networkId, String segmentName) { try { Segments segmentService = (Segments) nsxService.apply(Segments.class); + removeGroupForSegment(segmentName); LOGGER.debug(String.format("Removing the segment with ID %s", segmentName)); segmentService.delete(segmentName); DhcpRelayConfigs dhcpRelayConfig = (DhcpRelayConfigs) nsxService.apply(DhcpRelayConfigs.class); @@ -739,4 +740,9 @@ public class NsxApiClient { service.patch(DEFAULT_DOMAIN, segmentName, group); } + private void removeGroupForSegment(String segmentName) { + LOGGER.info(String.format("Removing Group for Segment %s", segmentName)); + Groups service = (Groups) nsxService.apply(Groups.class); + service.delete(DEFAULT_DOMAIN, segmentName, true, false); + } }