@Override public UserVmVO getVirtualMachine(long vmId) { return _vmDao.findById(vmId); }
public void createVmDataCommandForVMs(final DomainRouterVO router, final Commands cmds, final long guestNetworkId) { final List<UserVmVO> vms = _userVmDao.listByNetworkIdAndStates(guestNetworkId, VirtualMachine.State.Running, VirtualMachine.State.Migrating, VirtualMachine.State.Stopping); final DataCenterVO dc = _dcDao.findById(router.getDataCenterId()); for (final UserVmVO vm : vms) { boolean createVmData = true; if (dc.getNetworkType() == NetworkType.Basic && router.getPodIdToDeployIn().longValue() != vm.getPodIdToDeployIn().longValue()) { createVmData = false; } if (createVmData) { final NicVO nic = _nicDao.findByNtwkIdAndInstanceId(guestNetworkId, vm.getId()); if (nic != null) { s_logger.debug("Creating user data entry for vm " + vm + " on domR " + router); _userVmDao.loadDetails(vm); createVmDataCommand(router, vm, nic, vm.getDetail("SSH.PublicKey"), cmds); } } } }
private void updateVmMetaData(Long vmId, String platform) { UserVmVO userVm = _userVmDao.findById(vmId); _userVmDao.loadDetails(userVm); if ( userVm.details.containsKey("timeoffset")) { userVm.details.remove("timeoffset"); } userVm.setDetail("platform", platform); String pvdriver = "xenserver56"; if ( platform.contains("device_id")) { pvdriver = "xenserver61"; } if (!userVm.details.containsKey("hypervisortoolsversion") || !userVm.details.get("hypervisortoolsversion").equals(pvdriver)) { userVm.setDetail("hypervisortoolsversion", pvdriver); } _userVmDao.saveDetails(userVm); }
private boolean attachISOToVM(long vmId, long userId, long isoId, boolean attach) { UserVmVO vm = _userVmDao.findById(vmId); VMTemplateVO iso = _tmpltDao.findById(isoId); boolean success = attachISOToVM(vmId, isoId, attach); if (success && attach) { vm.setIsoId(iso.getId()); _userVmDao.update(vmId, vm); } if (success && !attach) { vm.setIsoId(null); _userVmDao.update(vmId, vm); } return success; }
public void updateMissingRootDiskController(final VMInstanceVO vm, final String rootVolChainInfo) { if (vm == null || !VirtualMachine.Type.User.equals(vm.getType()) || Strings.isNullOrEmpty(rootVolChainInfo)) { return; } String rootDiskController = null; try { final VirtualMachineDiskInfo infoInChain = _gson.fromJson(rootVolChainInfo, VirtualMachineDiskInfo.class); if (infoInChain != null) { rootDiskController = infoInChain.getControllerFromDeviceBusName(); } final UserVmVO userVmVo = _userVmDao.findById(vm.getId()); if ((rootDiskController != null) && (!rootDiskController.isEmpty())) { _userVmDao.loadDetails(userVmVo); _userVmMgr.persistDeviceBusInfo(userVmVo, rootDiskController); } } catch (JsonParseException e) { s_logger.debug("Error parsing chain info json: " + e.getMessage()); } }
if (result) { final UserVmVO userVmVO = _userVmDao.findById(vm.getId()); userVmVO.setUpdateParameters(false); _userVmDao.update(userVmVO.getId(), userVmVO); final UserVmVO userVmVO = _userVmDao.findById(vm.getId()); _userVmDao.loadDetails(userVmVO); userVmVO.setDetail("password", password_encrypted); _userVmDao.saveDetails(userVmVO); _userVmDao.update(userVmVO.getId(), userVmVO);
UserVmVO vm = _vmDao.findById(vmId); if (vm == null) { throw new InvalidParameterValueException("unable to find a virtual machine with id " + vmId); VMTemplateVO template = null; if (vm.isUpdateParameters()) { _vmDao.loadDetails(vm); _vmDao.update(vm.getId(), vm);
String extraConfig = cmd.getExtraConfig(); UserVmVO vmInstance = _vmDao.findById(cmd.getId()); long accountId = vmInstance.getAccountId(); if (MapUtils.isNotEmpty(details)) { vmInstance.setDetails(details); _vmDao.saveDetails(vmInstance);
UserVmVO vm = _vmDao.findById(vmId); if (vm == null) { InvalidParameterValueException ex = new InvalidParameterValueException("Unable to find a virtual machine with specified vmId"); return _vmDao.findByIdIncludingRemoved(vmId); } else { CloudRuntimeException ex = new CloudRuntimeException("Failed to expunge vm with specified vmId");
public static List<UserVmVO> listUserVMsByNetworkId(long networkId) { return s_userVmDao.listByNetworkIdAndStates(networkId, VirtualMachine.State.Running, VirtualMachine.State.Starting, VirtualMachine.State.Stopping, VirtualMachine.State.Unknown, VirtualMachine.State.Migrating); }
@Override public boolean accept(final NetworkTopologyVisitor visitor, final VirtualRouter router) throws ResourceUnavailableException { _router = router; UserVmDao userVmDao = visitor.getVirtualNetworkApplianceFactory().getUserVmDao(); userVmDao.loadDetails((UserVmVO) profile.getVirtualMachine()); // for basic zone, send vm data/password information only to the router in the same pod NicDao nicDao = visitor.getVirtualNetworkApplianceFactory().getNicDao(); nicVo = nicDao.findById(nic.getId()); return visitor.visit(this); }
_vmDao.persist(vm); for (String key : customParameters.keySet()) { if( key.equalsIgnoreCase(VmDetailConstants.CPU_NUMBER) || _vmDao.saveDetails(vm);
@Override public void persistDeviceBusInfo(UserVmVO vm, String rootDiskController) { String existingVmRootDiskController = vm.getDetail(VmDetailConstants.ROOT_DISK_CONTROLLER); if (StringUtils.isEmpty(existingVmRootDiskController) && !StringUtils.isEmpty(rootDiskController)) { vm.setDetail(VmDetailConstants.ROOT_DISK_CONTROLLER, rootDiskController); _vmDao.saveDetails(vm); if (s_logger.isDebugEnabled()) { s_logger.debug("Persisted device bus information rootDiskController=" + rootDiskController + " for vm: " + vm.getDisplayName()); } } }
private ServiceVirtualMachine createServiceVM(DataCenter zone, Account owner, VirtualMachineTemplate template, ServiceOffering serviceOffering, String name, ServiceInstance siObj, Network left, Network right) { long id = _vmDao.getNextInSequence(Long.class, "id");
@Override public boolean accept(final NetworkTopologyVisitor visitor, final VirtualRouter router) throws ResourceUnavailableException { _router = router; UserVmDao userVmDao = visitor.getVirtualNetworkApplianceFactory().getUserVmDao(); _userVM = userVmDao.findById(_profile.getId()); userVmDao.loadDetails(_userVM); //for basic zone, send vm data/password information only to the router in the same pod NicDao nicDao = visitor.getVirtualNetworkApplianceFactory().getNicDao(); _nicVo = nicDao.findById(_nic.getId()); return visitor.visit(this); }
vm.setGuestOSId(template.getGuestOSId()); vm.setTemplateId(newTemplateId); _vmDao.update(vmId, vm); } else { newVol = volumeMgr.allocateDuplicateVolume(root, newTemplateId); vm.setGuestOSId(template.getGuestOSId()); vm.setTemplateId(newTemplateId); _vmDao.update(vmId, vm); vm = _vmDao.findById(vmId); if (template.isEnablePassword()) { if (vm.isUpdateParameters()) { vm.setUpdateParameters(false); _vmDao.loadDetails(vm); if (vm.getDetail("password") != null) { userVmDetailsDao.removeDetail(vm.getId(), "password"); _vmDao.update(vm.getId(), vm);
/** * 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); }
private boolean checkForNonStoppedVmInNetwork(long networkId) { List<UserVmVO> vms = _userVmDao.listByNetworkIdAndStates(networkId, VirtualMachine.State.Starting, VirtualMachine.State.Running, VirtualMachine.State.Migrating, VirtualMachine.State.Stopping); return vms.isEmpty(); }
details.put(DiskTO.CHAP_TARGET_SECRET, chapInfo.getTargetSecret()); _userVmDao.loadDetails(vm); Map<String, String> controllerInfo = new HashMap<String, String>(); controllerInfo.put(VmDetailConstants.ROOT_DISK_CONTROLLER, vm.getDetail(VmDetailConstants.ROOT_DISK_CONTROLLER));
private void encryptAndStorePassword(UserVmVO vm, String password) { String sshPublicKey = vm.getDetail("SSH.PublicKey"); if (sshPublicKey != null && !sshPublicKey.equals("") && password != null && !password.equals("saved_password")) { if (!sshPublicKey.startsWith("ssh-rsa")) { s_logger.warn("Only RSA public keys can be used to encrypt a vm password."); return; } String encryptedPasswd = RSAHelper.encryptWithSSHPublicKey(sshPublicKey, password); if (encryptedPasswd == null) { throw new CloudRuntimeException("Error encrypting password"); } vm.setDetail("Encrypted.Password", encryptedPasswd); _vmDao.saveDetails(vm); } }