mirror of https://github.com/apache/cloudstack.git
bug 9195: don't return domR/SSVM/CPVM volumes in listVolumes api response
status 9195: resolved fixed
This commit is contained in:
parent
c2fba286b2
commit
eb696ab0ce
|
|
@ -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());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue