From e790167bfe8cdebc80c8a51cb0191184edc40afd Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Fri, 12 Mar 2021 13:48:03 +0000 Subject: [PATCH 1/3] server: create DB entry for storage pool capacity when create storage pool --- .../main/java/com/cloud/storage/StorageManagerImpl.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java index 96589f163715..d343fc4103ec 100644 --- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java @@ -757,6 +757,15 @@ public PrimaryDataStoreInfo createPool(CreateStoragePoolCmd cmd) throws Resource throw new CloudRuntimeException("Failed to add data store: " + e.getMessage(), e); } + // create entry for storage pool capacity + StoragePoolVO pool = _storagePoolDao.findById(store.getId()); + long disk = _capacityMgr.getAllocatedPoolCapacity(pool, null); + if (pool.isShared()) { + createCapacityEntry(pool, Capacity.CAPACITY_TYPE_STORAGE_ALLOCATED, disk); + } else { + createCapacityEntry(pool, Capacity.CAPACITY_TYPE_LOCAL_STORAGE, disk); + } + return (PrimaryDataStoreInfo)_dataStoreMgr.getDataStore(store.getId(), DataStoreRole.Primary); } From 4140cea1fff3e937bc59ec7c45b97f2eb9d9961a Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 15 Mar 2021 08:40:04 +0000 Subject: [PATCH 2/3] Revert "server: create DB entry for storage pool capacity when create storage pool" This reverts commit e790167bfe8cdebc80c8a51cb0191184edc40afd. --- .../main/java/com/cloud/storage/StorageManagerImpl.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java index d343fc4103ec..96589f163715 100644 --- a/server/src/main/java/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/main/java/com/cloud/storage/StorageManagerImpl.java @@ -757,15 +757,6 @@ public PrimaryDataStoreInfo createPool(CreateStoragePoolCmd cmd) throws Resource throw new CloudRuntimeException("Failed to add data store: " + e.getMessage(), e); } - // create entry for storage pool capacity - StoragePoolVO pool = _storagePoolDao.findById(store.getId()); - long disk = _capacityMgr.getAllocatedPoolCapacity(pool, null); - if (pool.isShared()) { - createCapacityEntry(pool, Capacity.CAPACITY_TYPE_STORAGE_ALLOCATED, disk); - } else { - createCapacityEntry(pool, Capacity.CAPACITY_TYPE_LOCAL_STORAGE, disk); - } - return (PrimaryDataStoreInfo)_dataStoreMgr.getDataStore(store.getId(), DataStoreRole.Primary); } From f4f5fec5ef6d22c9dfe5e805fbe0fbbef7097ac8 Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 15 Mar 2021 08:39:41 +0000 Subject: [PATCH 3/3] server: create DB entry for storage pool capacity when create zone-wide storage pools --- .../storage/volume/datastore/PrimaryDataStoreHelper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java b/engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java index ac2c93567c33..08a3a3924d72 100644 --- a/engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java +++ b/engine/storage/src/main/java/org/apache/cloudstack/storage/volume/datastore/PrimaryDataStoreHelper.java @@ -173,6 +173,7 @@ public DataStore attachCluster(DataStore store) { public DataStore attachZone(DataStore store) { StoragePoolVO pool = this.dataStoreDao.findById(store.getId()); + storageMgr.createCapacityEntry(pool.getId()); pool.setScope(ScopeType.ZONE); pool.setStatus(StoragePoolStatus.Up); this.dataStoreDao.update(pool.getId(), pool); @@ -181,6 +182,7 @@ public DataStore attachZone(DataStore store) { public DataStore attachZone(DataStore store, HypervisorType hypervisor) { StoragePoolVO pool = this.dataStoreDao.findById(store.getId()); + storageMgr.createCapacityEntry(pool.getId()); pool.setScope(ScopeType.ZONE); pool.setHypervisor(hypervisor); pool.setStatus(StoragePoolStatus.Up);