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