@Override public ServiceOfferingVO getcomputeOffering(ServiceOfferingVO serviceOffering, Map<String, String> customParameters) { ServiceOfferingVO dummyoffering = new ServiceOfferingVO(serviceOffering); dummyoffering.setDynamicFlag(true); if (customParameters.containsKey(UsageEventVO.DynamicParameters.cpuNumber.name())) { dummyoffering.setCpu(Integer.parseInt(customParameters.get(UsageEventVO.DynamicParameters.cpuNumber.name()))); } if (customParameters.containsKey(UsageEventVO.DynamicParameters.cpuSpeed.name())) { dummyoffering.setSpeed(Integer.parseInt(customParameters.get(UsageEventVO.DynamicParameters.cpuSpeed.name()))); } if (customParameters.containsKey(UsageEventVO.DynamicParameters.memory.name())) { dummyoffering.setRamSize(Integer.parseInt(customParameters.get(UsageEventVO.DynamicParameters.memory.name()))); } return dummyoffering; }
@Override public ServiceOfferingVO findByIdIncludingRemoved(Long vmId, long serviceOfferingId) { ServiceOfferingVO offering = super.findByIdIncludingRemoved(serviceOfferingId); if (offering.isDynamic()) { offering.setDynamicFlag(true); if (vmId == null) { throw new CloudRuntimeException("missing argument vmId"); } Map<String, String> dynamicOffering = userVmDetailsDao.listDetailsKeyPairs(vmId); return getcomputeOffering(offering, dynamicOffering); } return offering; }
@Override public ServiceOfferingVO findById(Long vmId, long serviceOfferingId) { ServiceOfferingVO offering = super.findById(serviceOfferingId); if (offering.isDynamic()) { offering.setDynamicFlag(true); if (vmId == null) { throw new CloudRuntimeException("missing argument vmId"); } Map<String, String> dynamicOffering = userVmDetailsDao.listDetailsKeyPairs(vmId); return getcomputeOffering(offering, dynamicOffering); } return offering; }
newServiceOffering.setDynamicFlag(true); validateCustomParameters(newServiceOffering, customParameters); newServiceOffering = _offeringDao.getcomputeOffering(newServiceOffering, customParameters);
ServiceOfferingVO newServiceOffering = _offeringDao.findById(svcOffId); if (newServiceOffering.isDynamic()) { newServiceOffering.setDynamicFlag(true); validateCustomParameters(newServiceOffering, cmd.getDetails()); newServiceOffering = _offeringDao.getcomputeOffering(newServiceOffering, customParameters);
private VirtualMachine upgradeStoppedSystemVm(final Long systemVmId, final Long serviceOfferingId, final Map<String, String> customparameters) { final Account caller = getCaller(); final VMInstanceVO systemVm = _vmInstanceDao.findByIdTypes(systemVmId, VirtualMachine.Type.ConsoleProxy, VirtualMachine.Type.SecondaryStorageVm); if (systemVm == null) { throw new InvalidParameterValueException("Unable to find SystemVm with id " + systemVmId); } _accountMgr.checkAccess(caller, null, true, systemVm); // Check that the specified service offering ID is valid ServiceOfferingVO newServiceOffering = _offeringDao.findById(serviceOfferingId); final ServiceOfferingVO currentServiceOffering = _offeringDao.findById(systemVmId, systemVm.getServiceOfferingId()); if (newServiceOffering.isDynamic()) { newServiceOffering.setDynamicFlag(true); _userVmMgr.validateCustomParameters(newServiceOffering, customparameters); newServiceOffering = _offeringDao.getcomputeOffering(newServiceOffering, customparameters); } _itMgr.checkIfCanUpgrade(systemVm, newServiceOffering); final boolean result = _itMgr.upgradeVmDb(systemVmId, serviceOfferingId); if (newServiceOffering.isDynamic()) { //save the custom values to the database. _userVmMgr.saveCustomOfferingDetails(systemVmId, newServiceOffering); } if (currentServiceOffering.isDynamic() && !newServiceOffering.isDynamic()) { _userVmMgr.removeCustomOfferingDetails(systemVmId); } if (result) { return _vmInstanceDao.findById(systemVmId); } else { throw new CloudRuntimeException("Unable to upgrade system vm " + systemVm); } }
newServiceOffering.setDynamicFlag(true); validateCustomParameters(newServiceOffering, customParameters); newServiceOffering = _offeringDao.getcomputeOffering(newServiceOffering, customParameters);
offering.setDynamicFlag(true); validateCustomParameters(offering, customParameters); offering = _offeringDao.getcomputeOffering(offering, customParameters);