From b287e4dd773a53ebe6c37494d0cf63852db1357a Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 27 Nov 2025 11:28:52 +0530 Subject: [PATCH 1/2] server: fix templatetype during iso upload Fixes #12104 Signed-off-by: Abhishek Kumar --- .../java/com/cloud/template/TemplateManagerImpl.java | 9 ++++++--- server/src/main/java/com/cloud/vm/UserVmManagerImpl.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index 06ec17d48efa..a685f32a35d7 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -2359,12 +2359,15 @@ else if (details != null && !details.isEmpty()) { @Override public TemplateType validateTemplateType(BaseCmd cmd, boolean isAdmin, boolean isCrossZones, HypervisorType hypervisorType) { - if (!(cmd instanceof UpdateTemplateCmd) && !(cmd instanceof RegisterTemplateCmd) && !(cmd instanceof GetUploadParamsForTemplateCmd)) { + if (!(cmd instanceof UpdateTemplateCmd) && + !(cmd instanceof RegisterTemplateCmd) && + !(cmd instanceof GetUploadParamsForTemplateCmd) && + !(cmd instanceof GetUploadParamsForIsoCmd)) { return null; } TemplateType templateType = null; - String newType = null; - Boolean isRoutingType = null; + String newType = TemplateType.USER.name(); + Boolean isRoutingType = false; if (cmd instanceof UpdateTemplateCmd) { newType = ((UpdateTemplateCmd)cmd).getTemplateType(); isRoutingType = ((UpdateTemplateCmd)cmd).isRoutingType(); diff --git a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java index 2e30b4ecbd8c..3439d7f385de 100644 --- a/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/main/java/com/cloud/vm/UserVmManagerImpl.java @@ -4392,7 +4392,7 @@ private UserVm getUncheckedUserVmResource(DataCenter zone, String hostName, Stri } } - if (template.getTemplateType().equals(TemplateType.SYSTEM) && !CKS_NODE.equals(vmType) && !SHAREDFSVM.equals(vmType)) { + if (TemplateType.SYSTEM.equals(template.getTemplateType()) && !CKS_NODE.equals(vmType) && !SHAREDFSVM.equals(vmType)) { throw new InvalidParameterValueException(String.format("Unable to use system template %s to deploy a user vm", template)); } From cc8030f5632642003db7e8b0c0fdf42164ee5c20 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 27 Nov 2025 21:36:32 +0530 Subject: [PATCH 2/2] simplify Signed-off-by: Abhishek Kumar --- .../java/com/cloud/template/TemplateManagerImpl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java index a685f32a35d7..e96e79bc1ec3 100755 --- a/server/src/main/java/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/main/java/com/cloud/template/TemplateManagerImpl.java @@ -2359,15 +2359,15 @@ else if (details != null && !details.isEmpty()) { @Override public TemplateType validateTemplateType(BaseCmd cmd, boolean isAdmin, boolean isCrossZones, HypervisorType hypervisorType) { - if (!(cmd instanceof UpdateTemplateCmd) && - !(cmd instanceof RegisterTemplateCmd) && - !(cmd instanceof GetUploadParamsForTemplateCmd) && - !(cmd instanceof GetUploadParamsForIsoCmd)) { + if (cmd instanceof GetUploadParamsForIsoCmd) { + return TemplateType.USER; + } + if (!(cmd instanceof UpdateTemplateCmd) && !(cmd instanceof RegisterTemplateCmd) && !(cmd instanceof GetUploadParamsForTemplateCmd)) { return null; } TemplateType templateType = null; - String newType = TemplateType.USER.name(); - Boolean isRoutingType = false; + String newType = null; + Boolean isRoutingType = null; if (cmd instanceof UpdateTemplateCmd) { newType = ((UpdateTemplateCmd)cmd).getTemplateType(); isRoutingType = ((UpdateTemplateCmd)cmd).isRoutingType();