/** * Persist extra configurations as details for hypervisors except Vmware */ protected void persistExtraConfigNonVmware(String decodedUrl, UserVm vm) { String[] extraConfigs = decodedUrl.split("\n\n"); for (String cfg : extraConfigs) { int i = 1; String[] cfgParts = cfg.split("\n"); String extraConfigKey = ApiConstants.EXTRA_CONFIG; String extraConfigValue; if (cfgParts[0].matches("\\S+:$")) { extraConfigKey += "-" + cfgParts[0].substring(0,cfgParts[0].length() - 1); extraConfigValue = cfg.replace(cfgParts[0] + "\n", ""); } else { extraConfigKey += "-" + String.valueOf(i); extraConfigValue = cfg; } userVmDetailsDao.addDetail(vm.getId(), extraConfigKey, extraConfigValue, true); i++; } }
/** * Persist extra configurations as details for VMware VMs */ protected void persistExtraConfigVmware(String decodedUrl, UserVm vm) { String[] configDataArr = decodedUrl.split("\\r?\\n"); for (String config: configDataArr) { String[] keyValue = config.split("="); try { userVmDetailsDao.addDetail(vm.getId(), keyValue[0], keyValue[1], true); } catch (ArrayIndexOutOfBoundsException e) { throw new CloudRuntimeException("Issue occurred during parsing of:" + config); } } }
/** * Add VNC details as user VM details for each VM in 'vms' (KVM hosts only) */ protected void setKVMVncAccess(long hostId, List<VMInstanceVO> vms) { for (VMInstanceVO vm : vms) { GetVncPortAnswer vmVncPortAnswer = (GetVncPortAnswer) _agentMgr.easySend(hostId, new GetVncPortCommand(vm.getId(), vm.getInstanceName())); if (vmVncPortAnswer != null) { userVmDetailsDao.addDetail(vm.getId(), "kvm.vnc.address", vmVncPortAnswer.getAddress(), true); userVmDetailsDao.addDetail(vm.getId(), "kvm.vnc.port", String.valueOf(vmVncPortAnswer.getPort()), true); } } }
/** * Store password in vm details so it can be picked up during VM start. */ private void storePasswordInVmDetails(VirtualMachineProfile vm) { final String password = (String) vm.getParameter(VirtualMachineProfile.Param.VmPassword); final String password_encrypted = DBEncryptionUtil.encrypt(password); final UserVmVO userVmVO = _userVmDao.findById(vm.getId()); _userVmDetailsDao.addDetail(vm.getId(), "password", password_encrypted, false); userVmVO.setUpdateParameters(true); _userVmDao.update(userVmVO.getId(), userVmVO); }
userVmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue(), true); userVmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue(), true); } else if (userVmDetailsDao.findDetail(vm.getId(), "cpuOvercommitRatio") != null) { userVmDetailsDao.addDetail(vm.getId(), "cpuOvercommitRatio", cluster_detail_cpu.getValue(), true); userVmDetailsDao.addDetail(vm.getId(), "memoryOvercommitRatio", cluster_detail_ram.getValue(), true);