GutoVeronezi commented on a change in pull request #5757:
URL: https://github.com/apache/cloudstack/pull/5757#discussion_r773176160
##########
File path: server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
##########
@@ -1826,6 +1801,45 @@ public void
doInTransactionWithoutResult(TransactionStatus status) {
return vm;
}
+ private void updatePublicIpDnatVmIp(long vmId, long networkId, String
oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.StaticNat)) {
+ List<IPAddressVO> publicIps =
_ipAddressDao.listByAssociatedVmId(vmId);
+ for (IPAddressVO publicIp : publicIps) {
+ if (oldIp.equals(publicIp.getVmIp()) &&
publicIp.getAssociatedWithNetworkId() == networkId) {
+ publicIp.setVmIp(newIp);
+ _ipAddressDao.persist(publicIp);
+ }
+ }
+ }
Review comment:
We could invert the `if` logic and add a return to reduce indentation.
##########
File path: server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
##########
@@ -1826,6 +1801,45 @@ public void
doInTransactionWithoutResult(TransactionStatus status) {
return vm;
}
+ private void updatePublicIpDnatVmIp(long vmId, long networkId, String
oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.StaticNat)) {
+ List<IPAddressVO> publicIps =
_ipAddressDao.listByAssociatedVmId(vmId);
+ for (IPAddressVO publicIp : publicIps) {
+ if (oldIp.equals(publicIp.getVmIp()) &&
publicIp.getAssociatedWithNetworkId() == networkId) {
+ publicIp.setVmIp(newIp);
+ _ipAddressDao.persist(publicIp);
+ }
+ }
+ }
+ }
+
+ private void updateLoadBalancerRulesVmIp(long vmId, long networkId, String
oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.Lb)) {
+ List<LoadBalancerVMMapVO> loadBalancerVMMaps =
_loadBalancerVMMapDao.listByInstanceId(vmId);
+ for (LoadBalancerVMMapVO map : loadBalancerVMMaps) {
+ long lbId = map.getLoadBalancerId();
+ FirewallRuleVO rule = _rulesDao.findById(lbId);
+ if (oldIp.equals(map.getInstanceIp()) && networkId ==
rule.getNetworkId()) {
+ map.setInstanceIp(newIp);
+ _loadBalancerVMMapDao.persist(map);
+ }
+ }
+ }
+ }
+
+ private void updatePortForwardingRulesVmIp(long vmId, long networkId,
String oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.PortForwarding)) {
+ List<PortForwardingRuleVO> firewallRules =
_portForwardingDao.listByVm(vmId);
+ for (PortForwardingRuleVO firewallRule : firewallRules) {
+ FirewallRuleVO rule = _rulesDao.findById(firewallRule.getId());
+ if
(oldIp.equals(firewallRule.getDestinationIpAddress().toString()) && networkId
== rule.getNetworkId()) {
+ firewallRule.setDestinationIpAddress(new Ip(newIp));
+ _portForwardingDao.persist(firewallRule);
+ }
+ }
+ }
Review comment:
We could invert the `if` logic and add a return to reduce indentation.
##########
File path: server/src/main/java/com/cloud/vm/UserVmManagerImpl.java
##########
@@ -1826,6 +1801,45 @@ public void
doInTransactionWithoutResult(TransactionStatus status) {
return vm;
}
+ private void updatePublicIpDnatVmIp(long vmId, long networkId, String
oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.StaticNat)) {
+ List<IPAddressVO> publicIps =
_ipAddressDao.listByAssociatedVmId(vmId);
+ for (IPAddressVO publicIp : publicIps) {
+ if (oldIp.equals(publicIp.getVmIp()) &&
publicIp.getAssociatedWithNetworkId() == networkId) {
+ publicIp.setVmIp(newIp);
+ _ipAddressDao.persist(publicIp);
+ }
+ }
+ }
+ }
+
+ private void updateLoadBalancerRulesVmIp(long vmId, long networkId, String
oldIp, String newIp) {
+ if (_networkModel.areServicesSupportedInNetwork(networkId,
Service.Lb)) {
+ List<LoadBalancerVMMapVO> loadBalancerVMMaps =
_loadBalancerVMMapDao.listByInstanceId(vmId);
+ for (LoadBalancerVMMapVO map : loadBalancerVMMaps) {
+ long lbId = map.getLoadBalancerId();
+ FirewallRuleVO rule = _rulesDao.findById(lbId);
+ if (oldIp.equals(map.getInstanceIp()) && networkId ==
rule.getNetworkId()) {
+ map.setInstanceIp(newIp);
+ _loadBalancerVMMapDao.persist(map);
+ }
+ }
+ }
Review comment:
We could invert the `if` logic and add a return to reduce indentation.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]