mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-5391:
check for host cpu capability while stop starting a vm on the same host. Also changed the FirstFitAllocator to use the same method.
This commit is contained in:
parent
98ee087d31
commit
ed1f3d9ed6
@ -286,8 +286,6 @@ public class FirstFitAllocator extends AdapterBase implements HostAllocator {
|
||||
continue;
|
||||
}
|
||||
|
||||
boolean numCpusGood = host.getCpus().intValue() >= offering.getCpu();
|
||||
boolean cpuFreqGood = host.getSpeed().intValue() >= offering.getSpeed();
|
||||
int cpu_requested = offering.getCpu() * offering.getSpeed();
|
||||
long ram_requested = offering.getRamSize() * 1024L * 1024L;
|
||||
Cluster cluster = _clusterDao.findById(host.getClusterId());
|
||||
@ -296,19 +294,18 @@ public class FirstFitAllocator extends AdapterBase implements HostAllocator {
|
||||
Float cpuOvercommitRatio = Float.parseFloat(clusterDetailsCpuOvercommit.getValue());
|
||||
Float memoryOvercommitRatio = Float.parseFloat(clusterDetailsRamOvercommmt.getValue());
|
||||
|
||||
boolean hostHasCapacity =
|
||||
_capacityMgr.checkIfHostHasCapacity(host.getId(), cpu_requested, ram_requested, false, cpuOvercommitRatio, memoryOvercommitRatio,
|
||||
boolean hostHasCpuCapability = _capacityMgr.checkIfHostHasCpuCapability(host.getId(), offering.getCpu(), offering.getSpeed());
|
||||
boolean hostHasCapacity = _capacityMgr.checkIfHostHasCapacity(host.getId(), cpu_requested, ram_requested, false, cpuOvercommitRatio, memoryOvercommitRatio,
|
||||
considerReservedCapacity);
|
||||
|
||||
if (numCpusGood && cpuFreqGood && hostHasCapacity) {
|
||||
if (hostHasCpuCapability && hostHasCapacity) {
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Found a suitable host, adding to list: " + host.getId());
|
||||
}
|
||||
suitableHosts.add(host);
|
||||
} else {
|
||||
if (s_logger.isDebugEnabled()) {
|
||||
s_logger.debug("Not using host " + host.getId() + "; numCpusGood: " + numCpusGood + "; cpuFreqGood: " + cpuFreqGood + ", host has capacity?" +
|
||||
hostHasCapacity);
|
||||
s_logger.debug("Not using host " + host.getId() + "; host has cpu capability? " + hostHasCpuCapability + ", host has capacity?" + hostHasCapacity);
|
||||
}
|
||||
avoid.addHost(host.getId());
|
||||
}
|
||||
|
||||
@ -361,7 +361,8 @@ public class DeploymentPlanningManagerImpl extends ManagerBase implements Deploy
|
||||
ClusterDetailsVO cluster_detail_ram = _clusterDetailsDao.findDetail(cluster_id, "memoryOvercommitRatio");
|
||||
Float cpuOvercommitRatio = Float.parseFloat(cluster_detail_cpu.getValue());
|
||||
Float memoryOvercommitRatio = Float.parseFloat(cluster_detail_ram.getValue());
|
||||
if (_capacityMgr.checkIfHostHasCapacity(host.getId(), cpu_requested, ram_requested, true, cpuOvercommitRatio, memoryOvercommitRatio, true)) {
|
||||
if (_capacityMgr.checkIfHostHasCapacity(host.getId(), cpu_requested, ram_requested, true, cpuOvercommitRatio, memoryOvercommitRatio, true)
|
||||
&& _capacityMgr.checkIfHostHasCpuCapability(host.getId(), offering.getCpu(), offering.getSpeed())) {
|
||||
s_logger.debug("The last host of this VM is UP and has enough capacity");
|
||||
s_logger.debug("Now checking for suitable pools under zone: " + host.getDataCenterId() + ", pod: " + host.getPodId() + ", cluster: " +
|
||||
host.getClusterId());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user