@@ -612,9 +612,15 @@ public void updateCapacityForHost(final Host host) {
612612 usedMemory +=
613613 ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .memory .name ())) * 1024L * 1024L ) / ramOvercommitRatio ) *
614614 clusterRamOvercommitRatio ;
615- usedCpu +=
616- ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuSpeed .name ()))) / cpuOvercommitRatio ) *
617- clusterCpuOvercommitRatio ;
615+ if (vmDetails .containsKey (UsageEventVO .DynamicParameters .cpuSpeed .name ())) {
616+ usedCpu +=
617+ ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuSpeed .name ()))) / cpuOvercommitRatio ) *
618+ clusterCpuOvercommitRatio ;
619+ } else {
620+ usedCpu +=
621+ ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * so .getSpeed ()) / cpuOvercommitRatio ) *
622+ clusterCpuOvercommitRatio ;
623+ }
618624 usedCpuCore += Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ()));
619625 } else {
620626 usedMemory += ((so .getRamSize () * 1024L * 1024L ) / ramOvercommitRatio ) * clusterRamOvercommitRatio ;
@@ -645,9 +651,15 @@ public void updateCapacityForHost(final Host host) {
645651 reservedMemory +=
646652 ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .memory .name ())) * 1024L * 1024L ) / ramOvercommitRatio ) *
647653 clusterRamOvercommitRatio ;
648- reservedCpu +=
649- ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuSpeed .name ()))) / cpuOvercommitRatio ) *
650- clusterCpuOvercommitRatio ;
654+ if (vmDetails .containsKey (UsageEventVO .DynamicParameters .cpuSpeed .name ())) {
655+ reservedCpu +=
656+ ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuSpeed .name ()))) / cpuOvercommitRatio ) *
657+ clusterCpuOvercommitRatio ;
658+ } else {
659+ reservedCpu +=
660+ ((Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ())) * so .getSpeed ()) / cpuOvercommitRatio ) *
661+ clusterCpuOvercommitRatio ;
662+ }
651663 reservedCpuCore += Integer .parseInt (vmDetails .get (UsageEventVO .DynamicParameters .cpuNumber .name ()));
652664 } else {
653665 reservedMemory += ((so .getRamSize () * 1024L * 1024L ) / ramOvercommitRatio ) * clusterRamOvercommitRatio ;
0 commit comments