diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java index 7c0a2771e08..aaa6b6a9734 100755 --- a/server/src/com/cloud/api/ApiResponseHelper.java +++ b/server/src/com/cloud/api/ApiResponseHelper.java @@ -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()); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 89bc7318f4a..17a9fa2c30f 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -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 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) { @@ -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);