CLOUDSTACK-6353 Fixed listing vm ip details for lb rule

This commit is contained in:
Jayapal 2014-04-08 12:53:28 +05:30
parent e8227c88d8
commit e6e4fe4d26
2 changed files with 9 additions and 1 deletions

View File

@ -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);
}

View File

@ -1044,6 +1044,11 @@ public class LoadBalancingRulesManagerImpl<Type> 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) {