From bf16e4cc3f7a27f08ceb05b8d21dd13ebdd35ffb Mon Sep 17 00:00:00 2001 From: Rakesh Venkatesh Date: Mon, 28 Sep 2020 18:43:00 +0200 Subject: [PATCH] Remove cpu core from op_host_capacity while delete a host or put host to maintenance When a host is put into maintenance mode or its deleted from cloudstack then delete its entries from op_host_capacity table --- .../src/main/java/com/cloud/capacity/CapacityManagerImpl.java | 1 + .../src/main/java/com/cloud/resource/ResourceManagerImpl.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java index b3f3a625f676..5530e53fdc4b 100644 --- a/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java +++ b/server/src/main/java/com/cloud/capacity/CapacityManagerImpl.java @@ -1179,6 +1179,7 @@ public void processDiscoverEventBefore(Long dcid, Long podId, Long clusterId, UR public void processPrepareMaintenaceEventAfter(Long hostId) { _capacityDao.removeBy(Capacity.CAPACITY_TYPE_MEMORY, null, null, null, hostId); _capacityDao.removeBy(Capacity.CAPACITY_TYPE_CPU, null, null, null, hostId); + _capacityDao.removeBy(Capacity.CAPACITY_TYPE_CPU_CORE, null, null, null, hostId); } @Override diff --git a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java index c1c221b4f7e2..6945d6f43685 100755 --- a/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java +++ b/server/src/main/java/com/cloud/resource/ResourceManagerImpl.java @@ -929,7 +929,7 @@ public void doInTransactionWithoutResult(final TransactionStatus status) { } // delete the op_host_capacity entry - final Object[] capacityTypes = {Capacity.CAPACITY_TYPE_CPU, Capacity.CAPACITY_TYPE_MEMORY}; + final Object[] capacityTypes = {Capacity.CAPACITY_TYPE_CPU, Capacity.CAPACITY_TYPE_MEMORY, Capacity.CAPACITY_TYPE_CPU_CORE}; final SearchCriteria hostCapacitySC = _capacityDao.createSearchCriteria(); hostCapacitySC.addAnd("hostOrPoolId", SearchCriteria.Op.EQ, hostId); hostCapacitySC.addAnd("capacityType", SearchCriteria.Op.IN, capacityTypes);