From ebb22a481852dc5691b0d408a696bbfe5073b58d Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Wed, 23 May 2018 19:50:07 +0530 Subject: [PATCH] server: Calculate fresh capacity per VM (#2663) This fixes and ensures that every VM has its capacity individually calculated, with the initial override of 1.0f as overcommit ratio. Signed-off-by: Rohit Yadav --- server/src/com/cloud/capacity/CapacityManagerImpl.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/server/src/com/cloud/capacity/CapacityManagerImpl.java b/server/src/com/cloud/capacity/CapacityManagerImpl.java index a94a8646eb5..a9042a760f8 100644 --- a/server/src/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/com/cloud/capacity/CapacityManagerImpl.java @@ -596,9 +596,9 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, ClusterDetailsVO clusterDetailRam = _clusterDetailsDao.findDetail(cluster.getId(), "memoryOvercommitRatio"); Float clusterCpuOvercommitRatio = Float.parseFloat(clusterDetailCpu.getValue()); Float clusterRamOvercommitRatio = Float.parseFloat(clusterDetailRam.getValue()); - Float cpuOvercommitRatio = 1f; - Float ramOvercommitRatio = 1f; for (VMInstanceVO vm : vms) { + Float cpuOvercommitRatio = 1.0f; + Float ramOvercommitRatio = 1.0f; Map vmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId()); String vmDetailCpu = vmDetails.get("cpuOvercommitRatio"); String vmDetailRam = vmDetails.get("memoryOvercommitRatio"); @@ -628,6 +628,8 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager, s_logger.debug("Found " + vmsByLastHostId.size() + " VM, not running on host " + host.getId()); } for (VMInstanceVO vm : vmsByLastHostId) { + Float cpuOvercommitRatio = 1.0f; + Float ramOvercommitRatio = 1.0f; long secondsSinceLastUpdate = (DateUtil.currentGMTTime().getTime() - vm.getUpdateTime().getTime()) / 1000; if (secondsSinceLastUpdate < _vmCapacityReleaseInterval) { UserVmDetailVO vmDetailCpu = _userVmDetailsDao.findDetail(vm.getId(), "cpuOvercommitRatio");