From 2862b369ca2b2bb9da9cdc3af259215d575261db Mon Sep 17 00:00:00 2001 From: erikbocks Date: Mon, 5 Jan 2026 14:26:35 -0300 Subject: [PATCH] Changes to the error message displayed during the removal of public templates that are used --- .../java/com/cloud/template/TemplateManagerImpl.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index a37be2e73db3..fcdc733403ea 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -219,7 +219,6 @@ import com.cloud.vm.VmDetailConstants; import com.cloud.vm.dao.UserVmDao; import com.cloud.vm.dao.VMInstanceDao; -import com.google.common.base.Joiner; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -1384,8 +1383,15 @@ public boolean deleteTemplate(DeleteTemplateCmd cmd) { vmInstanceVOList = _vmInstanceDao.listNonExpungedByTemplate(templateId); } if(!cmd.isForced() && CollectionUtils.isNotEmpty(vmInstanceVOList)) { - final String message = String.format("Unable to delete Template: %s because Instance: [%s] are using it.", template, Joiner.on(",").join(vmInstanceVOList)); - logger.warn(message); + String message = String.format("Unable to delete template with ID %s, because there are VM instances using it.", templateId); + String instancesListMessage = String.format(" Instances list: [%s].", StringUtils.join(vmInstanceVOList, ",")); + + logger.warn("{}{}", message, instancesListMessage); + + if (_accountMgr.isRootAdmin(caller.getAccountId())) { + message += instancesListMessage; + } + throw new InvalidParameterValueException(message); }