diff --git a/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java b/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java index 5299cc38638..c40023fb2b0 100755 --- a/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java +++ b/server/src/com/cloud/capacity/dao/CapacityDaoImpl.java @@ -100,7 +100,7 @@ public class CapacityDaoImpl extends GenericDaoBase implements SummedCapacitySearch.select("sumUsed", Func.SUM, SummedCapacitySearch.entity().getUsedCapacity()); SummedCapacitySearch.select("sumReserved", Func.SUM, SummedCapacitySearch.entity().getReservedCapacity()); SummedCapacitySearch.select("sumTotal", Func.SUM, SummedCapacitySearch.entity().getTotalCapacity()); - SummedCapacitySearch.select("capacityType", Func.SUM, SummedCapacitySearch.entity().getCapacityType()); + SummedCapacitySearch.select("capacityType", Func.NATIVE, SummedCapacitySearch.entity().getCapacityType()); SummedCapacitySearch.and("dcId", SummedCapacitySearch.entity().getDataCenterId(), Op.EQ); SummedCapacitySearch.groupBy(SummedCapacitySearch.entity().getCapacityType()); diff --git a/server/src/com/cloud/configuration/Config.java b/server/src/com/cloud/configuration/Config.java index cf5e9642317..12d96ec981b 100755 --- a/server/src/com/cloud/configuration/Config.java +++ b/server/src/com/cloud/configuration/Config.java @@ -100,10 +100,14 @@ public enum Config { MemoryCapacityThreshold("Usage", ManagementServer.class, Float.class, "cluster.memory.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of memory utilization above which alerts will be sent about low memory available.", null), PublicIpCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.virtualnetwork.publicip.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of public IP address space utilization above which alerts will be sent.", null), PrivateIpCapacityThreshold("Usage", ManagementServer.class, Float.class, "pod.privateip.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of private IP address space utilization above which alerts will be sent.", null), - SecondaryStorageCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.secstorage.capacity.notificationThreshold", "0.85", "Percentage (as a value between 0 and 1) of secondary storage utilization above which alerts will be sent about low storage available.", null), - VlanCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.vlan.capacity.notificationThreshold", "0.85", "Percentage (as a value between 0 and 1) of Zone Vlan utilization above which alerts will be sent about low number of Zone Vlans.", null), - DirectNetworkPublicIpCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.directnetwork.publicip.capacity.notificationThreshold", "0.85", "Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.", null), - LocalStorageCapacityThreshold("Usage", ManagementServer.class, Float.class, "cluster.localStorage.capacity.notificationThreshold", "0.85", "Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.", null), + SecondaryStorageCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.secstorage.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of secondary storage utilization above which alerts will be sent about low storage available.", null), + VlanCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.vlan.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of Zone Vlan utilization above which alerts will be sent about low number of Zone Vlans.", null), + DirectNetworkPublicIpCapacityThreshold("Usage", ManagementServer.class, Float.class, "zone.directnetwork.publicip.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.", null), + LocalStorageCapacityThreshold("Usage", ManagementServer.class, Float.class, "cluster.localStorage.capacity.notificationthreshold", "0.85", "Percentage (as a value between 0 and 1) of Direct Network Public Ip Utilization above which alerts will be sent about low number of direct network public ips.", null), + StorageAllocatedCapacityDisableThreshold("Usage", ManagementServer.class, Float.class, "cluster.storage.allocated.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of allocated storage utilization above which allocators will disable using the cluster for low storage available.", null), + CPUCapacityDisableThreshold("Usage", ManagementServer.class, Float.class, "cluster.cpu.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low cpu available.", null), + MemoryCapacityDisableThreshold("Usage", ManagementServer.class, Float.class, "cluster.memory.capacity.disablethreshold", "0.85", "Percentage (as a value between 0 and 1) of cpu utilization above which allocators will disable using the cluster for low memory available.", null), + // Console Proxy ConsoleProxyCapacityStandby("Console Proxy", AgentManager.class, String.class, "consoleproxy.capacity.standby", "10", "The minimal number of console proxy viewer sessions that system is able to serve immediately(standby capacity)", null), diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index e7472d0720d..ecb6cf52126 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -2491,7 +2491,8 @@ public class ManagementServerImpl implements ManagementServer { } // op_host_Capacity contains only allocated stats and the real time stats are stored "in memory". - if (capacityType == null || capacityType == Capacity.CAPACITY_TYPE_SECONDARY_STORAGE) { + //Show Sec. Storage only when the api is invoked for the zone layer. + if ((capacityType == null || capacityType == Capacity.CAPACITY_TYPE_SECONDARY_STORAGE) && podId == null && clusterId == null) { capacities.add(_storageMgr.getSecondaryStorageUsedStats(null, zoneId)); } if (capacityType == null || capacityType == Capacity.CAPACITY_TYPE_STORAGE) {