From b1719c5a0f109be93914a784aaec30f70732e2fa Mon Sep 17 00:00:00 2001 From: Benjamin Navaro Date: Tue, 25 Jun 2024 15:18:50 -0400 Subject: [PATCH] Cosmetic changes and double implementation fix --- .../cloud/agent/manager/AgentManagerImpl.java | 44 +++---------------- .../resource/LibvirtComputingResource.java | 3 +- 2 files changed, 6 insertions(+), 41 deletions(-) diff --git a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java index fa37d6d2ab4e..10007500d7e4 100644 --- a/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java +++ b/engine/orchestration/src/main/java/com/cloud/agent/manager/AgentManagerImpl.java @@ -1905,12 +1905,12 @@ private void sendCommandToAgents(Map> hostsPerZone, LongFunctio } } - private long calculateAvailableMemoryOfHost(HostVO host){ + private long calculateAvailableMemoryOfHost(HostVO host) { long reservedMemory = ByteScaleUtils.mebibytesToBytes(ConfigurationManagerImpl.HOST_RESERVED_MEM_MB.valueIn(host.getClusterId())); return host.getTotalMemory() + host.getDom0MinMemory() - reservedMemory; } - private void updateMemoriesInDb(HostVO host, long newMemoryValue){ + private void updateMemoriesInDb(HostVO host, long newMemoryValue) { host.setTotalMemory(newMemoryValue); // Update "dom0_memory" in host table @@ -1923,7 +1923,7 @@ private void updateMemoriesInDb(HostVO host, long newMemoryValue){ capacityDao.update(memCap.getId(), memCap); } - private boolean updateHostMemory(HostVO host){ + private boolean updateHostMemory(HostVO host) { try { // Update the "ram" for all hosts long newMemoryValue = calculateAvailableMemoryOfHost(host); @@ -1957,43 +1957,9 @@ public void updateCapacityOfHosts() { } for (HostVO host : allHosts) { + boolean updateWasSuccessful = updateHostMemory(host); - boolean updateWasSuccessFull = updateHostMemory(host); - - if (! updateWasSuccessFull){ - allHostMemoryValuesAreValid = false; - continue; - } - - Long zoneId = host.getDataCenterId(); - List hostIds = hostsByZone.getOrDefault(zoneId, new ArrayList<>()); - hostIds.add(host.getId()); - hostsByZone.put(zoneId, hostIds); - } - - if (allHostMemoryValuesAreValid) { - sendCommandToAgents(hostsByZone, - hostId -> Collections.singletonMap( - ConfigurationManagerImpl.HOST_RESERVED_MEM_MB.key(), - ConfigurationManagerImpl.HOST_RESERVED_MEM_MB.valueIn(_hostDao.findById(hostId).getClusterId()).toString())); - } - } - - @Override - public void updateCapacityOfHosts() { - Map> hostsByZone = new HashMap<>(); - boolean allHostMemoryValuesAreValid = true; - - List allHosts = _resourceMgr.listAllHostsInAllZonesByType(Host.Type.Routing); - if (CollectionUtils.isEmpty(allHosts)) { - return; - } - - for (HostVO host : allHosts) { - - boolean updateWasSuccessFull = updateHostMemory(host); - - if (! updateWasSuccessFull){ + if (!updateWasSuccessful) { allHostMemoryValuesAreValid = false; continue; } diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java index 4e9fbe97a8b6..b39da6399064 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java @@ -209,7 +209,6 @@ import com.cloud.vm.VmDetailConstants; import com.google.gson.Gson; - /** * LibvirtComputingResource execute requests on the computing/routing host using * the libvirt API @@ -1455,7 +1454,7 @@ private void validateLocalStorageUUID(String localStorageUUID) throws Configurat } } - private void updateDom0MinMem(PropertiesStorage storage, final Map params){ + private void updateDom0MinMem(PropertiesStorage storage, final Map params) { long value = Long.parseLong(params.get(ConfigurationManagerImpl.HOST_RESERVED_MEM_MB.key())); s_logger.info("Reserved memory for host is " + value + "MB"); dom0MinMem = ByteScaleUtils.mebibytesToBytes(value);