From 0667f678b81eb45e7b64cb22bee37f16882250e5 Mon Sep 17 00:00:00 2001 From: Harikrishna Patnala Date: Wed, 11 Jun 2014 16:33:00 +0530 Subject: [PATCH] CLOUDSTACK-6869: SSH Public key content is overridden by template's meta data when you create a instance (cherry picked from commit aa75b4388554a502b1073dd78050cd4b364a803e) --- .../src/com/cloud/template/TemplateManagerImpl.java | 1 + server/src/com/cloud/vm/UserVmManagerImpl.java | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 3ebb43aa15b..dc076a8f1c5 100755 --- a/server/src/com/cloud/template/TemplateManagerImpl.java +++ b/server/src/com/cloud/template/TemplateManagerImpl.java @@ -1656,6 +1656,7 @@ public class TemplateManagerImpl extends ManagerBase implements TemplateManager, } } if (cmd.getDetails() != null) { + details.remove("Encrypted.Password"); // new password will be generated during vm deployment from password enabled template details.putAll(cmd.getDetails()); } if (!details.isEmpty()) { diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index 58709ecf760..673e03514d3 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2898,6 +2898,12 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir .getLimitCpuUse(), owner.getDomainId(), owner.getId(), offering.getId(), userData, hostName, diskOfferingId); vm.setUuid(uuidName); vm.setDynamicallyScalable(template.isDynamicallyScalable()); + + Map details = template.getDetails(); + if (details != null && !details.isEmpty()) { + vm.details.putAll(details); + } + if (sshPublicKey != null) { vm.setDetail("SSH.PublicKey", sshPublicKey); } @@ -2971,11 +2977,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } } - Map details = template.getDetails(); - if (details != null && !details.isEmpty()) { - vm.details.putAll(details); - } - _vmDao.persist(vm); if (customParameters != null && customParameters.size() > 0) { for (String key : customParameters.keySet()) {