Skip to content

Commit 96ccd7e

Browse files
authored
Filter netris vNets only by VPC ID as filter by site isn't working as expected on netris end (#11617)
1 parent 96cabf7 commit 96ccd7e

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1250,9 +1250,7 @@ private VnetResAddBody updateVnetInternal(VPCListing associatedVpc, String netri
12501250
try {
12511251
FilterByVpc vpcFilter = new FilterByVpc();
12521252
vpcFilter.add(associatedVpc.getId());
1253-
FilterBySites siteFilter = new FilterBySites();
1254-
siteFilter.add(siteId);
1255-
List<VnetsBody> vnetsList = getVnets(associatedVpc, prevVnetName, siteFilter, vpcFilter);
1253+
List<VnetsBody> vnetsList = getVnets(associatedVpc, prevVnetName, vpcFilter);
12561254
if (CollectionUtils.isEmpty(vnetsList)) {
12571255
String errorMsg = String.format("Could not find vNet with name: %s", prevVnetName);
12581256
logger.error(errorMsg);
@@ -1355,9 +1353,7 @@ public boolean deleteVnet(DeleteNetrisVnetCommand cmd) {
13551353
String netrisSubnetName = NetrisResourceObjectUtils.retrieveNetrisResourceObjectName(cmd, NetrisResourceObjectUtils.NetrisObjectType.IPAM_SUBNET, String.valueOf(cmd.getVpcId()), vnetCidr);
13561354
FilterByVpc vpcFilter = new FilterByVpc();
13571355
vpcFilter.add(associatedVpc.getId());
1358-
FilterBySites siteFilter = new FilterBySites();
1359-
siteFilter.add(siteId);
1360-
deleteVnetInternal(associatedVpc, siteFilter, vpcFilter, netrisVnetName, vNetName);
1356+
deleteVnetInternal(associatedVpc, vpcFilter, netrisVnetName, vNetName);
13611357

13621358
logger.debug("Successfully deleted vNet {}", vNetName);
13631359
deleteSubnetInternal(vpcFilter, netrisVnetName, netrisSubnetName);
@@ -1750,10 +1746,11 @@ private boolean updateSnatRuleInternal(String snatRuleName, String snatIP, Strin
17501746
return true;
17511747
}
17521748

1753-
private List<VnetsBody> getVnets(VPCListing associatedVpc, String netrisVnetName, FilterBySites siteFilter, FilterByVpc vpcFilter) {
1749+
private List<VnetsBody> getVnets(VPCListing associatedVpc, String netrisVnetName, FilterByVpc vpcFilter) {
1750+
// Filter by site not working as expected, so filtering by VPC only and then filtering by name in the code
17541751
try {
17551752
VNetApi vNetApi = apiClient.getApiStubForMethod(VNetApi.class);
1756-
VnetResListBody vnetList = vNetApi.apiV2VnetGet(siteFilter, vpcFilter);
1753+
VnetResListBody vnetList = vNetApi.apiV2VnetGet(null, vpcFilter);
17571754
if (vnetList == null || !vnetList.isIsSuccess()) {
17581755
throw new CloudRuntimeException(String.format("Failed to list vNets for the given VPC: %s and site: %s", associatedVpc.getName(), siteName));
17591756
}
@@ -1764,10 +1761,10 @@ private List<VnetsBody> getVnets(VPCListing associatedVpc, String netrisVnetName
17641761
return Collections.emptyList();
17651762
}
17661763

1767-
private void deleteVnetInternal(VPCListing associatedVpc, FilterBySites siteFilter, FilterByVpc vpcFilter, String netrisVnetName, String vNetName) {
1764+
private void deleteVnetInternal(VPCListing associatedVpc, FilterByVpc vpcFilter, String netrisVnetName, String vNetName) {
17681765
try {
17691766
VNetApi vNetApi = apiClient.getApiStubForMethod(VNetApi.class);
1770-
List<VnetsBody> vnetsList = getVnets(associatedVpc, netrisVnetName, siteFilter, vpcFilter);
1767+
List<VnetsBody> vnetsList = getVnets(associatedVpc, netrisVnetName, vpcFilter);
17711768
if (CollectionUtils.isEmpty(vnetsList)) {
17721769
logger.debug("vNet: {} for the given VPC: {} appears to already be deleted on Netris", vNetName, associatedVpc.getName());
17731770
return;

0 commit comments

Comments
 (0)