From 074e143986f29ee20e1df49d8dda499f469824d1 Mon Sep 17 00:00:00 2001 From: prachi Date: Fri, 22 Apr 2011 18:58:00 -0700 Subject: [PATCH] Manually Merged from master the remaining changes for Bug 9539 - cpu.overprovisioning.factor does not work --- server/src/com/cloud/agent/manager/AgentManagerImpl.java | 4 ++-- server/src/com/cloud/server/ManagementServerImpl.java | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/com/cloud/agent/manager/AgentManagerImpl.java b/server/src/com/cloud/agent/manager/AgentManagerImpl.java index cdc3fbe2c3a..4e15edfcae9 100755 --- a/server/src/com/cloud/agent/manager/AgentManagerImpl.java +++ b/server/src/com/cloud/agent/manager/AgentManagerImpl.java @@ -3031,7 +3031,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, if (capacityVOCpus != null && !capacityVOCpus.isEmpty()) { CapacityVO CapacityVOCpu = capacityVOCpus.get(0); long newTotalCpu = (long) (server.getCpus().longValue() - * server.getSpeed().longValue() * _cpuOverProvisioningFactor); + * server.getSpeed().longValue()); if ((CapacityVOCpu.getTotalCapacity() <= newTotalCpu) || ((CapacityVOCpu.getUsedCapacity() + CapacityVOCpu .getReservedCapacity()) <= newTotalCpu)) { @@ -3056,7 +3056,7 @@ public class AgentManagerImpl implements AgentManager, HandlerFactory, server.getClusterId(), 0L, (long) (server.getCpus().longValue() - * server.getSpeed().longValue() * _cpuOverProvisioningFactor), + * server.getSpeed().longValue()), CapacityVO.CAPACITY_TYPE_CPU); _capacityDao.persist(capacity); } diff --git a/server/src/com/cloud/server/ManagementServerImpl.java b/server/src/com/cloud/server/ManagementServerImpl.java index cbf57f388b5..a5298b44866 100755 --- a/server/src/com/cloud/server/ManagementServerImpl.java +++ b/server/src/com/cloud/server/ManagementServerImpl.java @@ -1302,7 +1302,13 @@ public class ManagementServerImpl implements ManagementServer { s_logger.debug("Searching for hosts in cluster: " +cluster+ " having required CPU: " +requiredCpu+ " and RAM:"+ requiredRam); } - List hostsWithCapacity = _capacityDao.listHostsWithEnoughCapacity(requiredCpu, requiredRam, cluster, hostType.name()); + String opFactor = _configDao.getValue(Config.CPUOverprovisioningFactor.key()); + float cpuOverprovisioningFactor = NumbersUtil.parseFloat(opFactor, 1); + if (s_logger.isDebugEnabled()) { + s_logger.debug("CPUOverprovisioningFactor considered: " + cpuOverprovisioningFactor); + } + List hostsWithCapacity = _capacityDao.listHostsWithEnoughCapacity(requiredCpu, requiredRam, cluster, hostType.name(), cpuOverprovisioningFactor); + if(s_logger.isDebugEnabled()){ s_logger.debug("Hosts having capacity: "+hostsWithCapacity );