From 91c2b85c5fc4b09b107032851b71bb5cc7edd9be Mon Sep 17 00:00:00 2001 From: Pearl Dsilva Date: Mon, 25 Jan 2021 10:03:50 +0530 Subject: [PATCH] Secondary storage: Allow store deletion after successful data migration --- .../java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java | 1 + .../java/com/cloud/template/HypervisorTemplateAdapter.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java index add5645ea7e3..c4a02a73ad2a 100644 --- a/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/TemplateJoinDaoImpl.java @@ -522,6 +522,7 @@ public List listActiveTemplates(long storeId) { sc.setParameters("store_id", storeId); sc.setParameters("type", TemplateType.USER); sc.setParameters("templateState", VirtualMachineTemplate.State.Active); + sc.setParameters("public", Boolean.FALSE); return searchIncludingRemoved(sc, null, null, false); } diff --git a/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java b/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java index c080ffd2f25c..055d48febed6 100644 --- a/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java +++ b/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java @@ -247,7 +247,7 @@ public VMTemplateVO create(TemplateProfile profile) { private void createTemplateWithinZone(Long zId, TemplateProfile profile, VMTemplateVO template) { // find all eligible image stores for this zone scope - List imageStores = storeMgr.getImageStoresByScope(new ZoneScope(zId)); + List imageStores = storeMgr.getImageStoresByScopeExcludingReadOnly(new ZoneScope(zId)); if (imageStores == null || imageStores.size() == 0) { throw new CloudRuntimeException("Unable to find image store to download template " + profile.getTemplate()); } @@ -314,7 +314,7 @@ public List doInTransaction(TransactionStatus zoneId = profile.getZoneIdList().get(0); // find all eligible image stores for this zone scope - List imageStores = storeMgr.getImageStoresByScope(new ZoneScope(zoneId)); + List imageStores = storeMgr.getImageStoresByScopeExcludingReadOnly(new ZoneScope(zoneId)); if (imageStores == null || imageStores.size() == 0) { throw new CloudRuntimeException("Unable to find image store to download template " + profile.getTemplate()); }