From bddd7c61a7217fbb7034c800eb7c62658ed6c2ee Mon Sep 17 00:00:00 2001 From: Bharat Kumar Date: Mon, 15 Dec 2014 16:17:12 +0530 Subject: [PATCH] CLOUDSTACK-8856 Primary Storage Used(type tag with value 2) related tag is not showing in listCapacity api response. Conflicts: server/src/com/cloud/server/ManagementServerImpl.java --- .../cloud/server/ManagementServerImpl.java | 38 +++++++++++-------- 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index b6a263705fa..e647d696e1b 100644 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2450,7 +2450,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe } } - final List summedCapacitiesForSecStorage = getSecStorageUsed(zoneId, capacityType); + List summedCapacitiesForSecStorage = getStorageUsed(clusterId, podId, zoneId, capacityType); if (summedCapacitiesForSecStorage != null) { summedCapacities.addAll(summedCapacitiesForSecStorage); } @@ -2488,7 +2488,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe return capacities; } - List getSecStorageUsed(final Long zoneId, final Integer capacityType) { + List getStorageUsed(Long clusterId, Long podId, Long zoneId, Integer capacityType) { if (capacityType == null || capacityType == Capacity.CAPACITY_TYPE_SECONDARY_STORAGE) { final List list = new ArrayList(); if (zoneId != null) { @@ -2496,19 +2496,10 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe if (zone == null || zone.getAllocationState() == AllocationState.Disabled) { return null; } - final CapacityVO capacity = _storageMgr.getSecondaryStorageUsedStats(null, zoneId); - if (capacity.getTotalCapacity() != 0) { - capacity.setUsedPercentage(capacity.getUsedCapacity() / capacity.getTotalCapacity()); - } else { - capacity.setUsedPercentage(0); - } - final SummedCapacity summedCapacity = new SummedCapacity(capacity.getUsedCapacity(), capacity.getTotalCapacity(), capacity.getUsedPercentage(), - capacity.getCapacityType(), capacity.getDataCenterId(), capacity.getPodId(), capacity.getClusterId()); - list.add(summedCapacity); - } else { - final List dcList = _dcDao.listEnabledZones(); - for (final DataCenterVO dc : dcList) { - final CapacityVO capacity = _storageMgr.getSecondaryStorageUsedStats(null, dc.getId()); + List capacities=new ArrayList(); + capacities.add(_storageMgr.getSecondaryStorageUsedStats(null, zoneId)); + capacities.add(_storageMgr.getStoragePoolUsedStats(null,clusterId, podId, zoneId)); + for (CapacityVO capacity : capacities) { if (capacity.getTotalCapacity() != 0) { capacity.setUsedPercentage((float)capacity.getUsedCapacity() / capacity.getTotalCapacity()); } else { @@ -2517,6 +2508,23 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe final SummedCapacity summedCapacity = new SummedCapacity(capacity.getUsedCapacity(), capacity.getTotalCapacity(), capacity.getUsedPercentage(), capacity.getCapacityType(), capacity.getDataCenterId(), capacity.getPodId(), capacity.getClusterId()); list.add(summedCapacity); + } + } else { + List dcList = _dcDao.listEnabledZones(); + for (DataCenterVO dc : dcList) { + List capacities=new ArrayList(); + capacities.add(_storageMgr.getSecondaryStorageUsedStats(null, dc.getId())); + capacities.add(_storageMgr.getStoragePoolUsedStats(null, null, null, dc.getId())); + for (CapacityVO capacity : capacities) { + if (capacity.getTotalCapacity() != 0) { + capacity.setUsedPercentage((float)capacity.getUsedCapacity() / capacity.getTotalCapacity()); + } else { + capacity.setUsedPercentage(0); + } + SummedCapacity summedCapacity = new SummedCapacity(capacity.getUsedCapacity(), capacity.getTotalCapacity(), capacity.getUsedPercentage(), + capacity.getCapacityType(), capacity.getDataCenterId(), capacity.getPodId(), capacity.getClusterId()); + list.add(summedCapacity); + } }// End of for } return list;