Copilot commented on code in PR #12403:
URL: https://github.com/apache/cloudstack/pull/12403#discussion_r2681185110
##########
server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java:
##########
@@ -704,22 +704,16 @@ public void updateCapacityForHost(final Host host) {
so =
_offeringsDao.findByIdIncludingRemoved(vm.getServiceOfferingId());
}
if (so.isDynamic()) {
- usedMemory +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.memory.name()))
* 1024L * 1024L) / ramOvercommitRatio) *
- clusterRamOvercommitRatio;
+ usedMemory +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.memory.name())) *
1024L * 1024L;
if(vmDetails.containsKey(UsageEventVO.DynamicParameters.cpuSpeed.name())) {
- usedCpu +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
*
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuSpeed.name())))
/ cpuOvercommitRatio) *
- clusterCpuOvercommitRatio;
+ usedCpu +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
*
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuSpeed.name()));
} else {
- usedCpu +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
* so.getSpeed()) / cpuOvercommitRatio) *
- clusterCpuOvercommitRatio;
+ usedCpu +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
* so.getSpeed();
}
usedCpuCore +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()));
} else {
- usedMemory += ((so.getRamSize() * 1024L * 1024L) /
ramOvercommitRatio) * clusterRamOvercommitRatio;
- usedCpu += ((so.getCpu() * so.getSpeed()) /
cpuOvercommitRatio) * clusterCpuOvercommitRatio;
+ usedMemory += so.getRamSize() * 1024L * 1024L;
+ usedCpu += so.getCpu() * so.getSpeed();
Review Comment:
The changes to remove overprovisioning factor calculations from usage
metrics lack test coverage. Consider adding a test case that verifies usedCpu
and usedMemory are calculated without applying overprovisioning factors,
especially when overprovisioning factors change.
##########
server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java:
##########
@@ -748,22 +742,16 @@ public void updateCapacityForHost(final Host host) {
so =
_offeringsDao.findByIdIncludingRemoved(vm.getServiceOfferingId());
}
if (so.isDynamic()) {
- reservedMemory +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.memory.name()))
* 1024L * 1024L) / ramOvercommitRatio) *
- clusterRamOvercommitRatio;
+ reservedMemory +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.memory.name())) *
1024L * 1024L;
if(vmDetails.containsKey(UsageEventVO.DynamicParameters.cpuSpeed.name())) {
- reservedCpu +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
*
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuSpeed.name())))
/ cpuOvercommitRatio) *
- clusterCpuOvercommitRatio;
+ reservedCpu +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
*
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuSpeed.name()));
} else {
- reservedCpu +=
-
((Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
* so.getSpeed()) / cpuOvercommitRatio) *
- clusterCpuOvercommitRatio;
+ reservedCpu +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()))
* so.getSpeed();
}
reservedCpuCore +=
Integer.parseInt(vmDetails.get(UsageEventVO.DynamicParameters.cpuNumber.name()));
} else {
- reservedMemory += ((so.getRamSize() * 1024L * 1024L) /
ramOvercommitRatio) * clusterRamOvercommitRatio;
- reservedCpu += (so.getCpu() * so.getSpeed() /
cpuOvercommitRatio) * clusterCpuOvercommitRatio;
+ reservedMemory += so.getRamSize() * 1024L * 1024L;
+ reservedCpu += so.getCpu() * so.getSpeed();
Review Comment:
The changes to remove overprovisioning factor calculations from reserved
capacity metrics lack test coverage. Consider adding a test case that verifies
reservedCpu and reservedMemory are calculated without applying overprovisioning
factors, especially when overprovisioning factors change.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]