Skip to content

Commit f164b97

Browse files
Pearl1594nvazquez
authored andcommitted
Delete netris IPv6 subnet (#59)
1 parent 4c0b061 commit f164b97

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

plugins/network-elements/netris/src/main/java/org/apache/cloudstack/agent/api/DeleteNetrisVnetCommand.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public class DeleteNetrisVnetCommand extends NetrisCommand {
2020
private String vpcName;
2121
private Long vpcId;
2222
private final String vNetCidr;
23+
private String vNetV6Cidr;
2324

2425
public DeleteNetrisVnetCommand(long zoneId, long accountId, long domainId, String name, long id, String vpcName, Long vpcId, String vNetCidr, boolean isVpc) {
2526
super(zoneId, accountId, domainId, name, id, isVpc);
@@ -39,4 +40,12 @@ public Long getVpcId() {
3940
public String getVNetCidr() {
4041
return vNetCidr;
4142
}
43+
44+
public String getvNetV6Cidr() {
45+
return vNetV6Cidr;
46+
}
47+
48+
public void setvNetV6Cidr(String vNetV6Cidr) {
49+
this.vNetV6Cidr = vNetV6Cidr;
50+
}
4251
}

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1066,6 +1066,7 @@ public boolean deleteVnet(DeleteNetrisVnetCommand cmd) {
10661066
Long networkId = cmd.getId();
10671067
boolean isVpc = cmd.isVpc();
10681068
String vnetCidr = cmd.getVNetCidr();
1069+
String vnetV6Cidr = cmd.getvNetV6Cidr();
10691070
try {
10701071
String netrisVpcName = getNetrisVpcName(cmd, vpcId, vpcName);
10711072
VPCListing associatedVpc = getNetrisVpcResource(netrisVpcName);
@@ -1082,7 +1083,7 @@ public boolean deleteVnet(DeleteNetrisVnetCommand cmd) {
10821083
}
10831084

10841085
String netrisVnetName = NetrisResourceObjectUtils.retrieveNetrisResourceObjectName(cmd, NetrisResourceObjectUtils.NetrisObjectType.VNET, vNetName) ;
1085-
String netrisSubnetName = NetrisResourceObjectUtils.retrieveNetrisResourceObjectName(cmd, NetrisResourceObjectUtils.NetrisObjectType.IPAM_SUBNET, String.valueOf(cmd.getVpcId()), vnetCidr) ;
1086+
String netrisSubnetName = NetrisResourceObjectUtils.retrieveNetrisResourceObjectName(cmd, NetrisResourceObjectUtils.NetrisObjectType.IPAM_SUBNET, String.valueOf(cmd.getVpcId()), vnetCidr);
10861087
FilterByVpc vpcFilter = new FilterByVpc();
10871088
vpcFilter.add(associatedVpc.getId());
10881089
FilterBySites siteFilter = new FilterBySites();
@@ -1091,6 +1092,10 @@ public boolean deleteVnet(DeleteNetrisVnetCommand cmd) {
10911092

10921093
logger.debug("Successfully deleted vNet {}", vNetName);
10931094
deleteSubnetInternal(vpcFilter, netrisVnetName, netrisSubnetName);
1095+
if (Objects.nonNull(vnetV6Cidr)) {
1096+
String netrisV6SubnetName = NetrisResourceObjectUtils.retrieveNetrisResourceObjectName(cmd, NetrisResourceObjectUtils.NetrisObjectType.IPAM_SUBNET, String.valueOf(cmd.getVpcId()), vnetV6Cidr);
1097+
deleteSubnetInternal(vpcFilter, netrisVnetName, netrisV6SubnetName);
1098+
}
10941099

10951100
} catch (Exception e) {
10961101
throw new CloudRuntimeException(String.format("Failed to delete Netris vNet %s", networkName), e);

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,10 @@ public boolean createVnetResource(Long zoneId, long accountId, long domainId, St
227227
@Override
228228
public boolean deleteVnetResource(long zoneId, long accountId, long domainId, String vpcName, Long vpcId, String networkName, Long networkId, String cidr) {
229229
DeleteNetrisVnetCommand cmd = new DeleteNetrisVnetCommand(zoneId, accountId, domainId, networkName, networkId, vpcName, vpcId, cidr, Objects.nonNull(vpcName));
230+
Ipv6GuestPrefixSubnetNetworkMapVO ipv6PrefixNetworkMapVO = ipv6PrefixNetworkMapDao.findByNetworkId(networkId);
231+
if (Objects.nonNull(ipv6PrefixNetworkMapVO)) {
232+
cmd.setvNetV6Cidr(ipv6PrefixNetworkMapVO.getSubnet());
233+
}
230234
NetrisAnswer answer = sendNetrisCommand(cmd, zoneId);
231235
return answer.getResult();
232236
}

0 commit comments

Comments
 (0)