diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 6fa1b192ecb..1193ba7bd5f 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -782,12 +782,9 @@ public class ApiResponseHelper implements ResponseGenerator { VMInstanceVO vm = ApiDBUtils.findVMInstanceById(instanceId); volResponse.setVirtualMachineId(vm.getId()); volResponse.setVirtualMachineName(vm.getHostName()); - if(vm.getType().equals(VirtualMachine.Type.User)) { - UserVm userVm = ApiDBUtils.findUserVmById(vm.getId()); - volResponse.setVirtualMachineDisplayName(userVm.getDisplayName()); - }else { - volResponse.setVirtualMachineDisplayName(vm.getHostName()); - } + UserVm userVm = ApiDBUtils.findUserVmById(vm.getId()); + volResponse.setVirtualMachineDisplayName(userVm.getDisplayName()); + volResponse.setVirtualMachineState(vm.getState().toString()); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index e2d41bbc428..4fe22df3280 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2430,11 +2430,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); @@ -2451,8 +2446,13 @@ public class ManagementServerImpl implements ManagementServer { SearchBuilder domainSearch = _domainDao.createSearchBuilder(); domainSearch.and("path", domainSearch.entity().getPath(), SearchCriteria.Op.EQ); sb.join("domainSearch", domainSearch, sb.entity().getDomainId(), domainSearch.entity().getId(), JoinBuilder.JoinType.INNER); - } - + } + + //display user vm volumes only + SearchBuilder 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 sc = sb.create(); if (keyword != null) { @@ -2496,11 +2496,8 @@ 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);