sureshanaparti commented on code in PR #11249:
URL: https://github.com/apache/cloudstack/pull/11249#discussion_r2231216584


##########
server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java:
##########
@@ -5038,6 +5038,29 @@ public Vlan createVlanAndPublicIpRange(final long 
zoneId, final long networkId,
         final VlanVO vlan = commitVlanAndIpRange(zoneId, networkId, 
physicalNetworkId, podId, startIP, endIP, vlanGateway, vlanNetmask, vlanId, 
domain, vlanOwner, vlanIp6Gateway, vlanIp6Cidr,
                 ipv4, zone, vlanType, ipv6Range, ipRange, forSystemVms);
 
+        if (vlan != null) {
+            final NetworkVO networkVO = _networkDao.findById(networkId);
+            if (ipv4) {
+                String networkCidr = networkVO.getCidr();
+                String newCidr = 
NetUtils.getCidrFromGatewayAndNetmask(vlanGateway, vlanNetmask);
+                String newNetworkCidr = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkCidr, 
newCidr, true);
+                networkVO.setCidr(newNetworkCidr);
+
+                String networkGateway = networkVO.getGateway();
+                String newNetworkGateway = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkGateway, 
vlanGateway, true);
+                networkVO.setGateway(newNetworkGateway);
+            } else if (ipv6) {
+                String networkIp6Cidr = networkVO.getIp6Cidr();
+                String newNetworkIp6Cidr = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkIp6Cidr, 
vlanIp6Cidr, true);
+                networkVO.setIp6Cidr(newNetworkIp6Cidr);
+
+                String networkIp6Gateway = networkVO.getIp6Gateway();
+                String newNetworkIp6Gateway = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkIp6Gateway,
 vlanIp6Gateway, true);
+                networkVO.setIp6Gateway(newNetworkIp6Gateway);
+            }
+            _networkDao.update(networkId, networkVO);
+        }

Review Comment:
   done



##########
server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java:
##########
@@ -6071,6 +6094,30 @@ public boolean deleteVlanIpRange(final 
DeleteVlanIpRangeCmd cmd) {
     private boolean deleteAndPublishVlanAndPublicIpRange(final long userId, 
final long vlanDbId, final Account caller) {
         VlanVO deletedVlan = deleteVlanAndPublicIpRange(userId, vlanDbId, 
caller);
         if (deletedVlan != null) {
+            final boolean ipv4 = deletedVlan.getVlanGateway() != null;
+            final boolean ipv6 = deletedVlan.getIp6Gateway() != null;
+            final long networkId = deletedVlan.getNetworkId();
+            final NetworkVO networkVO = _networkDao.findById(networkId);
+            if (ipv4) {
+                String networkCidr = networkVO.getCidr();
+                String cidrToRemove = 
NetUtils.getCidrFromGatewayAndNetmask(deletedVlan.getVlanGateway(), 
deletedVlan.getVlanNetmask());
+                String newNetworkCidr = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkCidr, 
cidrToRemove, false);
+                networkVO.setCidr(newNetworkCidr);
+
+                String networkGateway = networkVO.getGateway();
+                String newNetworkGateway = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkGateway, 
deletedVlan.getVlanGateway(), false);
+                networkVO.setGateway(newNetworkGateway);
+            } else if (ipv6) {
+                String networkIp6Cidr = networkVO.getIp6Cidr();
+                String newNetworkIp6Cidr = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkIp6Cidr, 
deletedVlan.getIp6Cidr(), false);
+                networkVO.setIp6Cidr(newNetworkIp6Cidr);
+
+                String networkIp6Gateway = networkVO.getIp6Gateway();
+                String newNetworkIp6Gateway = 
com.cloud.utils.StringUtils.updateCommaSeparatedStringWithValue(networkIp6Gateway,
 deletedVlan.getIp6Gateway(), false);
+                networkVO.setIp6Gateway(newNetworkIp6Gateway);
+            }

Review Comment:
   done



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to