bug 9195: don't return domR/SSVM/CPVM volumes in listVolumes api response

status 9195: resolved fixed
This commit is contained in:
alena 2011-03-30 16:32:48 -07:00
parent c2fba286b2
commit eb696ab0ce
2 changed files with 9 additions and 16 deletions

View File

@ -778,12 +778,9 @@ public class ApiResponseHelper implements ResponseGenerator {
VMInstanceVO vm = ApiDBUtils.findVMInstanceById(instanceId);
volResponse.setVirtualMachineId(vm.getId());
volResponse.setVirtualMachineName(vm.getName());
if(vm.getType().equals(VirtualMachine.Type.User)) {
UserVm userVm = ApiDBUtils.findUserVmById(vm.getId());
volResponse.setVirtualMachineDisplayName(userVm.getDisplayName());
}else {
volResponse.setVirtualMachineDisplayName(vm.getName());
}
UserVm userVm = ApiDBUtils.findUserVmById(vm.getId());
volResponse.setVirtualMachineDisplayName(userVm.getDisplayName());
volResponse.setVirtualMachineState(vm.getState().toString());
}

View File

@ -2417,11 +2417,6 @@ public class ManagementServerImpl implements ManagementServer {
sb.and("dataCenterId", sb.entity().getDataCenterId(), SearchCriteria.Op.EQ);
sb.and("podId", sb.entity().getPodId(), SearchCriteria.Op.EQ);
// Don't return DomR and ConsoleProxy volumes
sb.and("domRNameLabel", sb.entity().getName(), SearchCriteria.Op.NLIKE);
sb.and("domPNameLabel", sb.entity().getName(), SearchCriteria.Op.NLIKE);
sb.and("domSNameLabel", sb.entity().getName(), SearchCriteria.Op.NLIKE);
// Only return volumes that are not destroyed
sb.and("state", sb.entity().getState(), SearchCriteria.Op.NEQ);
@ -2440,6 +2435,11 @@ public class ManagementServerImpl implements ManagementServer {
sb.join("domainSearch", domainSearch, sb.entity().getDomainId(), domainSearch.entity().getId(), JoinBuilder.JoinType.INNER);
}
//display user vm volumes only
SearchBuilder<VMInstanceVO> vmSearch = _vmInstanceDao.createSearchBuilder();
vmSearch.and("type", vmSearch.entity().getType(), SearchCriteria.Op.NIN);
sb.join("vmSearch", vmSearch, sb.entity().getInstanceId(), vmSearch.entity().getId(), JoinBuilder.JoinType.INNER);
// now set the SC criteria...
SearchCriteria<VolumeVO> sc = sb.create();
if (keyword != null) {
@ -2483,11 +2483,7 @@ public class ManagementServerImpl implements ManagementServer {
}
// Don't return DomR and ConsoleProxy volumes
/*
sc.setParameters("domRNameLabel", "r-%");
sc.setParameters("domPNameLabel", "v-%");
sc.setParameters("domSNameLabel", "s-%");
*/
sc.setJoinParameters("vmSearch", "type", VirtualMachine.Type.ConsoleProxy, VirtualMachine.Type.SecondaryStorageVm, VirtualMachine.Type.DomainRouter);
// Only return volumes that are not destroyed
sc.setParameters("state", Volume.State.Destroy);