diff --git a/api/src/com/cloud/capacity/Capacity.java b/api/src/com/cloud/capacity/Capacity.java index 306e0ee4de2..16d67fc122d 100755 --- a/api/src/com/cloud/capacity/Capacity.java +++ b/api/src/com/cloud/capacity/Capacity.java @@ -37,7 +37,7 @@ public interface Capacity { public Long getHostOrPoolId(); - public long getDataCenterId(); + public Long getDataCenterId(); public Long getPodId(); diff --git a/core/src/com/cloud/capacity/CapacityVO.java b/core/src/com/cloud/capacity/CapacityVO.java index cfe0dfec41b..5c2d43861fa 100755 --- a/core/src/com/cloud/capacity/CapacityVO.java +++ b/core/src/com/cloud/capacity/CapacityVO.java @@ -44,7 +44,7 @@ public class CapacityVO implements Capacity { private Long hostOrPoolId; @Column(name="data_center_id") - private long dataCenterId; + private Long dataCenterId; @Column(name="pod_id") private Long podId; @@ -79,7 +79,7 @@ public class CapacityVO implements Capacity { public CapacityVO() {} - public CapacityVO(Long hostId, long dataCenterId, Long podId, Long clusterId, long usedCapacity, long totalCapacity, short capacityType) { + public CapacityVO(Long hostId, Long dataCenterId, Long podId, Long clusterId, long usedCapacity, long totalCapacity, short capacityType) { this.hostOrPoolId = hostId; this.dataCenterId = dataCenterId; this.podId = podId; @@ -90,7 +90,7 @@ public class CapacityVO implements Capacity { this.updateTime = new Date(); } - public CapacityVO(long dataCenterId, Long podId, Long clusterId, short capacityType, float usedPercentage) { + public CapacityVO(Long dataCenterId, Long podId, Long clusterId, short capacityType, float usedPercentage) { this.dataCenterId = dataCenterId; this.podId = podId; this.clusterId = clusterId; @@ -112,10 +112,10 @@ public class CapacityVO implements Capacity { this.hostOrPoolId = hostId; } @Override - public long getDataCenterId() { + public Long getDataCenterId() { return dataCenterId; } - public void setDataCenterId(long dataCenterId) { + public void setDataCenterId(Long dataCenterId) { this.dataCenterId = dataCenterId; } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index 0c11971107e..944fe0bbe3e 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2089,6 +2089,11 @@ public class ManagementServerImpl implements ManagementServer { } else if (zoneId != null) { dcList.add(ApiDBUtils.findZoneById(zoneId)); } else { + if (clusterId != null){ + zoneId = ApiDBUtils.findClusterById(clusterId).getDataCenterId(); + }else{ + zoneId = ApiDBUtils.findPodById(podId).getDataCenterId(); + } if (capacityType == null || capacityType == Capacity.CAPACITY_TYPE_STORAGE) { capacities.add(_storageMgr.getStoragePoolUsedStats(null, clusterId, podId, zoneId)); }