mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
server: Fix NPE while cloudstack agent failed to connect to mgt server (#4779)
* Fix NPE while cloudstack agent failed to connect to mgt server If `ramOvercommitRatio` field is missing in user_vm_details table is missing then agent throws NPE after restarting It is because in user_vm_details, there are 'cpuOvercommitRatio' for all vms, but for vms the field 'ramOvercommitRatio' is missing in the table. * code feedback
This commit is contained in:
parent
4c88021f81
commit
e2664197ec
@ -665,11 +665,9 @@ public class CapacityManagerImpl extends ManagerBase implements CapacityManager,
|
||||
Map<String, String> vmDetails = _userVmDetailsDao.listDetailsKeyPairs(vm.getId());
|
||||
String vmDetailCpu = vmDetails.get("cpuOvercommitRatio");
|
||||
String vmDetailRam = vmDetails.get("memoryOvercommitRatio");
|
||||
if (vmDetailCpu != null) {
|
||||
//if vmDetail_cpu is not null it means it is running in a overcommited cluster.
|
||||
cpuOvercommitRatio = Float.parseFloat(vmDetailCpu);
|
||||
ramOvercommitRatio = Float.parseFloat(vmDetailRam);
|
||||
}
|
||||
// if vmDetailCpu or vmDetailRam is not null it means it is running in a overcommitted cluster.
|
||||
cpuOvercommitRatio = (vmDetailCpu != null) ? Float.parseFloat(vmDetailCpu) : clusterCpuOvercommitRatio;
|
||||
ramOvercommitRatio = (vmDetailRam != null) ? Float.parseFloat(vmDetailRam) : clusterRamOvercommitRatio;
|
||||
ServiceOffering so = offeringsMap.get(vm.getServiceOfferingId());
|
||||
if (so == null) {
|
||||
so = _offeringsDao.findByIdIncludingRemoved(vm.getServiceOfferingId());
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user