mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-8570:Exception in calculating reserved capacity for dynamic service offering
This commit is contained in:
parent
259b2639f5
commit
04c7cf4e15
|
|
@ -645,8 +645,18 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
|
|||
ramOvercommitRatio = Float.parseFloat(vmDetailRam.getValue());
|
||||
}
|
||||
ServiceOffering so = offeringsMap.get(vm.getServiceOfferingId());
|
||||
reservedMemory += ((so.getRamSize() * 1024L * 1024L) / ramOvercommitRatio) * clusterRamOvercommitRatio;
|
||||
reservedCpu += (so.getCpu() * so.getSpeed() / cpuOvercommitRatio) * clusterCpuOvercommitRatio;
|
||||
Map<String, String> vmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId());
|
||||
if (so.isDynamic()) {
|
||||
reservedMemory +=
|
||||
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.memory.name())) * 1024L * 1024L) / ramOvercommitRatio) *
|
||||
clusterRamOvercommitRatio;
|
||||
reservedCpu +=
|
||||
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name())) * Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuSpeed.name()))) / cpuOvercommitRatio) *
|
||||
clusterCpuOvercommitRatio;
|
||||
} else {
|
||||
reservedMemory += ((so.getRamSize() * 1024L * 1024L) / ramOvercommitRatio) * clusterRamOvercommitRatio;
|
||||
reservedCpu += (so.getCpu() * so.getSpeed() / cpuOvercommitRatio) * clusterCpuOvercommitRatio;
|
||||
}
|
||||
} else {
|
||||
// signal if not done already, that the VM has been stopped for skip.counting.hours,
|
||||
// hence capacity will not be reserved anymore.
|
||||
|
|
|
|||
Loading…
Reference in New Issue