This is an automated email from the ASF dual-hosted git repository. rohit pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cloudstack.git
commit 9f730eabfa76e42773114eaf94d57cd33aae6ae0 Merge: 64f792b 546bf3d Author: Rohit Yadav <[email protected]> AuthorDate: Wed Mar 24 12:46:24 2021 +0530 Merge remote-tracking branch 'origin/4.15' .../java/com/cloud/storage/dao/VMTemplateDao.java | 2 ++ .../com/cloud/storage/dao/VMTemplateDaoImpl.java | 13 +++++++++++++ .../cloud/network/router/CommandSetupHelper.java | 13 +++++++++++-- .../java/com/cloud/storage/StorageManagerImpl.java | 9 +++++++++ .../cloud/template/HypervisorTemplateAdapter.java | 17 ++++++++++++++++- systemvm/debian/opt/cloud/bin/setup/router.sh | 3 +++ systemvm/debian/opt/cloud/bin/setup/vpcrouter.sh | 3 +++ test/integration/smoke/test_templates.py | 5 ++--- ui/.env.local | 1 + ui/src/views/auth/Login.vue | 4 ++-- .../cloudstack/utils/redfish/RedfishClient.java | 3 ++- .../utils/redfish/RedfishClientTest.java | 22 ++++++++++++++++++++++ 12 files changed, 86 insertions(+), 9 deletions(-) diff --cc server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java index 30fb6a1,3bf1d7e..aed1d87 --- a/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java +++ b/server/src/main/java/com/cloud/template/HypervisorTemplateAdapter.java @@@ -16,8 -16,8 +16,9 @@@ // under the License. package com.cloud.template; +import java.util.ArrayList; import java.util.Collections; + import java.util.Date; import java.util.HashSet; import java.util.LinkedList; import java.util.List; @@@ -607,16 -604,9 +621,17 @@@ public class HypervisorTemplateAdapter // find all eligible image stores for this template List<DataStore> iStores = templateMgr.getImageStoreByTemplate(template.getId(), null); if (iStores == null || iStores.size() == 0) { + // remove any references from template_zone_ref + List<VMTemplateZoneVO> templateZones = templateZoneDao.listByTemplateId(template.getId()); + if (templateZones != null) { + for (VMTemplateZoneVO templateZone : templateZones) { + templateZoneDao.remove(templateZone.getId()); + } + } + // Mark template as Inactive. template.setState(VirtualMachineTemplate.State.Inactive); + _tmpltDao.remove(template.getId()); _tmpltDao.update(template.getId(), template); // Decrement the number of templates and total secondary storage
