Return password as a result of startVm command if the vm was originally deployed with startVm=false parameter

This commit is contained in:
Alena Prokharchyk 2012-04-06 13:45:48 -07:00
parent d3bca8df8f
commit 52ebc73b65
1 changed files with 11 additions and 4 deletions

View File

@ -2804,10 +2804,11 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
//Set parameters
Map<VirtualMachineProfile.Param, Object> params = null;
VMTemplateVO template = null;
if (vm.isUpdateParameters()) {
_vmDao.loadDetails(vm);
// Check that the password was passed in and is valid
VMTemplateVO template = _templateDao.findByIdIncludingRemoved(vm.getTemplateId());
template = _templateDao.findByIdIncludingRemoved(vm.getTemplateId());
String password = "saved_password";
if (template.getEnablePassword()) {
@ -2838,12 +2839,18 @@ public class UserVmManagerImpl implements UserVmManager, UserVmService, Manager
}
vm = _itMgr.start(vm, params, callerUser, callerAccount, plan);
Pair<UserVmVO, Map<VirtualMachineProfile.Param, Object>> vmParamPair = new Pair(vm, params);
if (vm != null && vm.isUpdateParameters()) {
vm.setUpdateParameters(false);
_vmDao.update(vm.getId(), vm);
// this value is not being sent to the backend; need only for api display purposes
if (template.getEnablePassword()) {
vm.setPassword((String)vmParamPair.second().get(VirtualMachineProfile.Param.VmPassword));
vm.setUpdateParameters(false);
_vmDao.update(vm.getId(), vm);
}
}
return new Pair(vm, params);
return vmParamPair;
}
@Override