mirror of https://github.com/apache/cloudstack.git
bug 9941: fixed listVolumes api - use leftouter join with vm_instance table because instance_id is NULL for detached volumes
status 9941: resolved fixed
This commit is contained in:
parent
b485acf8ee
commit
3fe1ffc8f7
|
|
@ -783,9 +783,10 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
volResponse.setVirtualMachineId(vm.getId());
|
||||
volResponse.setVirtualMachineName(vm.getHostName());
|
||||
UserVm userVm = ApiDBUtils.findUserVmById(vm.getId());
|
||||
volResponse.setVirtualMachineDisplayName(userVm.getDisplayName());
|
||||
|
||||
volResponse.setVirtualMachineState(vm.getState().toString());
|
||||
if (userVm != null) {
|
||||
volResponse.setVirtualMachineDisplayName(userVm.getDisplayName());
|
||||
volResponse.setVirtualMachineState(vm.getState().toString());
|
||||
}
|
||||
}
|
||||
|
||||
// Show the virtual size of the volume
|
||||
|
|
|
|||
|
|
@ -2451,7 +2451,8 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
//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);
|
||||
vmSearch.or("nulltype", vmSearch.entity().getType(), SearchCriteria.Op.NULL);
|
||||
sb.join("vmSearch", vmSearch, sb.entity().getInstanceId(), vmSearch.entity().getId(), JoinBuilder.JoinType.LEFTOUTER);
|
||||
|
||||
// now set the SC criteria...
|
||||
SearchCriteria<VolumeVO> sc = sb.create();
|
||||
|
|
@ -2498,6 +2499,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
// Don't return DomR and ConsoleProxy volumes
|
||||
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