CLOUDSTACK-6869: SSH Public key content is overridden by template's meta data when you create a instance
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/522208de Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/522208de Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/522208de Branch: refs/heads/master Commit: 522208dec2f81997c8b14d820c4f3f1be958ee44 Parents: 31d8709 Author: Harikrishna Patnala <harikrishna.patn...@citrix.com> Authored: Wed Jun 11 16:33:00 2014 +0530 Committer: Kishan Kavala <kis...@cloud.com> Committed: Wed Jun 11 17:00:32 2014 +0530 ---------------------------------------------------------------------- server/src/com/cloud/template/TemplateManagerImpl.java | 1 + server/src/com/cloud/vm/UserVmManagerImpl.java | 11 ++++++----- 2 files changed, 7 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/522208de/server/src/com/cloud/template/TemplateManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/template/TemplateManagerImpl.java b/server/src/com/cloud/template/TemplateManagerImpl.java index 51d09ef..694bd03 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()) { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/522208de/server/src/com/cloud/vm/UserVmManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/vm/UserVmManagerImpl.java b/server/src/com/cloud/vm/UserVmManagerImpl.java index f97ce74..fc8a095 100755 --- a/server/src/com/cloud/vm/UserVmManagerImpl.java +++ b/server/src/com/cloud/vm/UserVmManagerImpl.java @@ -2909,6 +2909,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<String, String> details = template.getDetails(); + if (details != null && !details.isEmpty()) { + vm.details.putAll(details); + } + if (sshPublicKey != null) { vm.setDetail("SSH.PublicKey", sshPublicKey); } @@ -2982,11 +2988,6 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Vir } } - Map<String, String> 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()) {