@@ -2451,7 +2451,7 @@ public List<CapacityVO> listTopConsumedResources(final ListCapacityCmd cmd) {
24512451 }
24522452 }
24532453
2454- final List <SummedCapacity > summedCapacitiesForSecStorage = getSecStorageUsed ( zoneId , capacityType );
2454+ List <SummedCapacity > summedCapacitiesForSecStorage = getStorageUsed ( clusterId , podId , zoneId , capacityType );
24552455 if (summedCapacitiesForSecStorage != null ) {
24562456 summedCapacities .addAll (summedCapacitiesForSecStorage );
24572457 }
@@ -2489,27 +2489,18 @@ public int compare(final SummedCapacity arg0, final SummedCapacity arg1) {
24892489 return capacities ;
24902490 }
24912491
2492- List <SummedCapacity > getSecStorageUsed ( final Long zoneId , final Integer capacityType ) {
2492+ List <SummedCapacity > getStorageUsed ( Long clusterId , Long podId , Long zoneId , Integer capacityType ) {
24932493 if (capacityType == null || capacityType == Capacity .CAPACITY_TYPE_SECONDARY_STORAGE ) {
24942494 final List <SummedCapacity > list = new ArrayList <SummedCapacity >();
24952495 if (zoneId != null ) {
24962496 final DataCenterVO zone = ApiDBUtils .findZoneById (zoneId );
24972497 if (zone == null || zone .getAllocationState () == AllocationState .Disabled ) {
24982498 return null ;
24992499 }
2500- final CapacityVO capacity = _storageMgr .getSecondaryStorageUsedStats (null , zoneId );
2501- if (capacity .getTotalCapacity () != 0 ) {
2502- capacity .setUsedPercentage (capacity .getUsedCapacity () / capacity .getTotalCapacity ());
2503- } else {
2504- capacity .setUsedPercentage (0 );
2505- }
2506- final SummedCapacity summedCapacity = new SummedCapacity (capacity .getUsedCapacity (), capacity .getTotalCapacity (), capacity .getUsedPercentage (),
2507- capacity .getCapacityType (), capacity .getDataCenterId (), capacity .getPodId (), capacity .getClusterId ());
2508- list .add (summedCapacity );
2509- } else {
2510- final List <DataCenterVO > dcList = _dcDao .listEnabledZones ();
2511- for (final DataCenterVO dc : dcList ) {
2512- final CapacityVO capacity = _storageMgr .getSecondaryStorageUsedStats (null , dc .getId ());
2500+ List <CapacityVO > capacities =new ArrayList <CapacityVO >();
2501+ capacities .add (_storageMgr .getSecondaryStorageUsedStats (null , zoneId ));
2502+ capacities .add (_storageMgr .getStoragePoolUsedStats (null ,clusterId , podId , zoneId ));
2503+ for (CapacityVO capacity : capacities ) {
25132504 if (capacity .getTotalCapacity () != 0 ) {
25142505 capacity .setUsedPercentage ((float )capacity .getUsedCapacity () / capacity .getTotalCapacity ());
25152506 } else {
@@ -2518,6 +2509,23 @@ List<SummedCapacity> getSecStorageUsed(final Long zoneId, final Integer capacity
25182509 final SummedCapacity summedCapacity = new SummedCapacity (capacity .getUsedCapacity (), capacity .getTotalCapacity (), capacity .getUsedPercentage (),
25192510 capacity .getCapacityType (), capacity .getDataCenterId (), capacity .getPodId (), capacity .getClusterId ());
25202511 list .add (summedCapacity );
2512+ }
2513+ } else {
2514+ List <DataCenterVO > dcList = _dcDao .listEnabledZones ();
2515+ for (DataCenterVO dc : dcList ) {
2516+ List <CapacityVO > capacities =new ArrayList <CapacityVO >();
2517+ capacities .add (_storageMgr .getSecondaryStorageUsedStats (null , dc .getId ()));
2518+ capacities .add (_storageMgr .getStoragePoolUsedStats (null , null , null , dc .getId ()));
2519+ for (CapacityVO capacity : capacities ) {
2520+ if (capacity .getTotalCapacity () != 0 ) {
2521+ capacity .setUsedPercentage ((float )capacity .getUsedCapacity () / capacity .getTotalCapacity ());
2522+ } else {
2523+ capacity .setUsedPercentage (0 );
2524+ }
2525+ SummedCapacity summedCapacity = new SummedCapacity (capacity .getUsedCapacity (), capacity .getTotalCapacity (), capacity .getUsedPercentage (),
2526+ capacity .getCapacityType (), capacity .getDataCenterId (), capacity .getPodId (), capacity .getClusterId ());
2527+ list .add (summedCapacity );
2528+ }
25212529 }// End of for
25222530 }
25232531 return list ;
0 commit comments