From e6e4fe4d2695c2f3b1a93a577341bd8b0d325013 Mon Sep 17 00:00:00 2001 From: Jayapal Date: Tue, 8 Apr 2014 12:53:28 +0530 Subject: [PATCH] CLOUDSTACK-6353 Fixed listing vm ip details for lb rule --- .../ListLoadBalancerRuleInstancesCmdByAdmin.java | 5 ++++- .../com/cloud/network/lb/LoadBalancingRulesManagerImpl.java | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/api/src/org/apache/cloudstack/api/command/admin/loadbalancer/ListLoadBalancerRuleInstancesCmdByAdmin.java b/api/src/org/apache/cloudstack/api/command/admin/loadbalancer/ListLoadBalancerRuleInstancesCmdByAdmin.java index 0e8c377aee4..6c0d8a4888e 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/loadbalancer/ListLoadBalancerRuleInstancesCmdByAdmin.java +++ b/api/src/org/apache/cloudstack/api/command/admin/loadbalancer/ListLoadBalancerRuleInstancesCmdByAdmin.java @@ -19,6 +19,7 @@ package org.apache.cloudstack.api.command.admin.loadbalancer; import java.util.ArrayList; import java.util.List; +import com.cloud.vm.VirtualMachine; import org.apache.cloudstack.api.response.LoadBalancerRuleVmMapResponse; import org.apache.log4j.Logger; @@ -75,7 +76,9 @@ public class ListLoadBalancerRuleInstancesCmdByAdmin extends ListLoadBalancerRul LoadBalancerRuleVmMapResponse lbRuleVmIpResponse = new LoadBalancerRuleVmMapResponse(); vmResponses.get(i).setServiceState(serviceStates.get(i)); lbRuleVmIpResponse.setUserVmResponse(vmResponses.get(i)); - lbRuleVmIpResponse.setIpAddr(_lbService.listLbVmIpAddress(getId(), result.get(i).getId())); + //get vm id from the uuid + VirtualMachine lbvm = _entityMgr.findByUuid(VirtualMachine.class, vmResponses.get(i).getId()); + lbRuleVmIpResponse.setIpAddr(_lbService.listLbVmIpAddress(getId(), lbvm.getId())); lbRuleVmIpResponse.setObjectName("lbrulevmidip"); listlbVmRes.add(lbRuleVmIpResponse); } diff --git a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java index db2817fc57c..63912b37538 100755 --- a/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java +++ b/server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java @@ -1044,6 +1044,11 @@ public class LoadBalancingRulesManagerImpl extends ManagerBase implements vmIpsList.add(priIp); vmIdIpMap.put(instanceId, vmIpsList); } else { + // skip the primary ip from vm secondary ip comparisions + if (vmIpsList.contains(priIp)) { + vmIpsList.remove(priIp); + } + //check if the ips belongs to nic secondary ip for (String ip: vmIpsList) { if(_nicSecondaryIpDao.findByIp4AddressAndNicId(ip,nicInSameNetwork.getId()) == null) {