@Override public void loadDetails(ServiceOfferingVO serviceOffering) { Map<String, String> details = detailsDao.listDetailsKeyPairs(serviceOffering.getId()); serviceOffering.setDetails(details); }
public static long findDefaultRouterServiceOffering() { ServiceOfferingVO serviceOffering = s_serviceOfferingDao.findByName(ServiceOffering.routerDefaultOffUniqueName); return serviceOffering.getId(); }
public ServiceOfferingVO(ServiceOfferingVO offering) { super(offering.getId(), offering.getName(), offering.getDisplayText(), offering.getProvisioningType(), false, offering.getTags(), offering.isRecreatable(), offering.isUseLocalStorage(), offering.isSystemUse(), true, offering.isCustomizedIops()== null ? false:offering.isCustomizedIops(), offering.getDomainId(), offering.getMinIops(), offering.getMaxIops()); cpu = offering.getCpu(); ramSize = offering.getRamSize(); speed = offering.getSpeed(); rateMbps = offering.getRateMbps(); multicastRateMbps = offering.getMulticastRateMbps(); offerHA = offering.isOfferHA(); limitCpuUse = offering.getLimitCpuUse(); volatileVm = offering.isVolatileVm(); hostTag = offering.getHostTag(); vmType = offering.getSystemVmType(); }
public ServiceOfferingDaoImpl() { super(); UniqueNameSearch = createSearchBuilder(); UniqueNameSearch.and("name", UniqueNameSearch.entity().getUniqueName(), SearchCriteria.Op.EQ); UniqueNameSearch.and("system", UniqueNameSearch.entity().isSystemUse(), SearchCriteria.Op.EQ); UniqueNameSearch.done(); ServiceOfferingsByDomainIdSearch = createSearchBuilder(); ServiceOfferingsByDomainIdSearch.and("domainId", ServiceOfferingsByDomainIdSearch.entity().getDomainId(), SearchCriteria.Op.EQ); ServiceOfferingsByDomainIdSearch.done(); SystemServiceOffering = createSearchBuilder(); SystemServiceOffering.and("domainId", SystemServiceOffering.entity().getDomainId(), SearchCriteria.Op.EQ); SystemServiceOffering.and("system", SystemServiceOffering.entity().isSystemUse(), SearchCriteria.Op.EQ); SystemServiceOffering.and("vm_type", SystemServiceOffering.entity().getSpeed(), SearchCriteria.Op.EQ); SystemServiceOffering.and("removed", SystemServiceOffering.entity().getRemoved(), SearchCriteria.Op.NULL); SystemServiceOffering.done(); PublicServiceOfferingSearch = createSearchBuilder(); PublicServiceOfferingSearch.and("domainId", PublicServiceOfferingSearch.entity().getDomainId(), SearchCriteria.Op.NULL); PublicServiceOfferingSearch.and("system", PublicServiceOfferingSearch.entity().isSystemUse(), SearchCriteria.Op.EQ); PublicServiceOfferingSearch.and("removed", PublicServiceOfferingSearch.entity().getRemoved(), SearchCriteria.Op.NULL); PublicServiceOfferingSearch.done(); ServiceOfferingsByKeywordSearch = createSearchBuilder(); ServiceOfferingsByKeywordSearch.or("name", ServiceOfferingsByKeywordSearch.entity().getName(), SearchCriteria.Op.EQ); ServiceOfferingsByKeywordSearch.or("displayText", ServiceOfferingsByKeywordSearch.entity().getDisplayText(), SearchCriteria.Op.EQ); ServiceOfferingsByKeywordSearch.done(); }
@Override public void saveDetails(ServiceOfferingVO serviceOffering) { Map<String, String> details = serviceOffering.getDetails(); if (details == null) { return; } List<ServiceOfferingDetailsVO> resourceDetails = new ArrayList<ServiceOfferingDetailsVO>(); for (String key : details.keySet()) { resourceDetails.add(new ServiceOfferingDetailsVO(serviceOffering.getId(), key, details.get(key), true)); } detailsDao.saveDetails(resourceDetails); }
@Override public boolean isDynamic(long serviceOfferingId) { ServiceOfferingVO offering = super.findById(serviceOfferingId); return offering.getCpu() == null || offering.getSpeed() == null || offering.getRamSize() == null; }
@Override public List<ServiceOfferingVO> createSystemServiceOfferings(String name, String uniqueName, int cpuCount, int ramSize, int cpuSpeed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, String displayText, ProvisioningType provisioningType, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vmType, boolean defaultUse) { List<ServiceOfferingVO> list = new ArrayList<ServiceOfferingVO>(); ServiceOfferingVO offering = new ServiceOfferingVO(name, cpuCount, ramSize, cpuSpeed, rateMbps, multicastRateMbps, offerHA, displayText, provisioningType, false, recreatable, tags, systemUse, vmType, defaultUse); offering.setUniqueName(uniqueName); offering = persistSystemServiceOffering(offering); if (offering != null) { list.add(offering); } boolean useLocal = true; if (offering.isUseLocalStorage()) { // if 1st one is already local then 2nd needs to be shared useLocal = false; } offering = new ServiceOfferingVO(name + (useLocal ? " - Local Storage" : ""), cpuCount, ramSize, cpuSpeed, rateMbps, multicastRateMbps, offerHA, displayText, provisioningType, useLocal, recreatable, tags, systemUse, vmType, defaultUse); offering.setUniqueName(uniqueName + (useLocal ? "-Local" : "")); offering = persistSystemServiceOffering(offering); if (offering != null) { list.add(offering); } return list; }
protected void findDefaultServiceOfferingId() { ServiceOfferingVO serviceOffering = serviceOfferingDao.findDefaultSystemOffering(ServiceOffering.routerDefaultOffUniqueName, ConfigurationManagerImpl.SystemVMUseLocalStorage.valueIn(dest.getDataCenter().getId())); serviceOfferingId = serviceOffering.getId(); }
private boolean isImplicitPlannerUsedByOffering(long offeringId) { boolean implicitPlannerUsed = false; ServiceOfferingVO offering = _serviceOfferingDao.findByIdIncludingRemoved(offeringId); if (offering == null) { s_logger.error("Couldn't retrieve the offering by the given id : " + offeringId); } else { String plannerName = offering.getDeploymentPlanner(); if (plannerName != null) { if (plannerName.equals("ImplicitDedicationPlanner")) { implicitPlannerUsed = true; } } } return implicitPlannerUsed; }
protected void cleanupDomainOfferings(Long domainId) { // delete the service and disk offerings associated with this domain List<DiskOfferingVO> diskOfferingsForThisDomain = _diskOfferingDao.listByDomainId(domainId); for (DiskOfferingVO diskOffering : diskOfferingsForThisDomain) { _diskOfferingDao.remove(diskOffering.getId()); } List<ServiceOfferingVO> serviceOfferingsForThisDomain = _offeringsDao.findServiceOfferingByDomainId(domainId); for (ServiceOfferingVO serviceOffering : serviceOfferingsForThisDomain) { _offeringsDao.remove(serviceOffering.getId()); } }
@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; }
private ServiceOfferingVO createServiceOffering(long userId, String name, int cpu, int ramSize, int speed, String displayText, ProvisioningType provisioningType, boolean localStorageRequired, boolean offerHA, String tags) { tags = cleanupTags(tags); ServiceOfferingVO offering = new ServiceOfferingVO(name, cpu, ramSize, speed, null, null, offerHA, displayText, provisioningType, localStorageRequired, false, tags, false, null, false); offering.setUniqueName("Cloud.Com-" + name); // leaving the above reference to cloud.com in as it is an identifyer and has no real world relevance offering = _serviceOfferingDao.persistSystemServiceOffering(offering); return offering; }
@Override @DB public ServiceOfferingVO persistDeafultServiceOffering(ServiceOfferingVO offering) { assert offering.getUniqueName() != null : "unique name should be set for the service offering"; ServiceOfferingVO vo = findByName(offering.getUniqueName()); if (vo != null) { return vo; } try { return persist(offering); } catch (EntityExistsException e) { // Assume it's conflict on unique name return findByName(offering.getUniqueName()); } }
@Override @Transient public String[] getTagsArray() { String tags = getTags(); if (tags == null || tags.length() == 0) { return new String[0]; } return tags.split(","); }
@Override public boolean remove(Long id) { ServiceOfferingVO offering = createForUpdate(); offering.setRemoved(new Date()); return update(id, offering); }
@Override public void addDetail(long resourceId, String key, String value, boolean display) { super.addDetail(new ServiceOfferingDetailsVO(resourceId, key, value, display)); }
private boolean isImplicitPlannerUsedByOffering(long offeringId) { boolean implicitPlannerUsed = false; ServiceOfferingVO offering = serviceOfferingDao.findByIdIncludingRemoved(offeringId); if (offering == null) { s_logger.error("Couldn't retrieve the offering by the given id : " + offeringId); } else { String plannerName = offering.getDeploymentPlanner(); if (plannerName == null) { plannerName = globalDeploymentPlanner; } if (plannerName != null && this.getName().equals(plannerName)) { implicitPlannerUsed = true; } } return implicitPlannerUsed; }
@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; }
private List<ServiceOfferingJoinVO> filterOfferingsOnCurrentTags(List<ServiceOfferingJoinVO> offerings, ServiceOfferingVO currentVmOffering) { if (currentVmOffering == null) { return offerings; } List<String> currentTagsList = StringUtils.csvTagsToList(currentVmOffering.getTags()); // New service offering should have all the tags of the current service offering. List<ServiceOfferingJoinVO> filteredOfferings = new ArrayList<>(); for (ServiceOfferingJoinVO offering : offerings) { List<String> newTagsList = StringUtils.csvTagsToList(offering.getTags()); if (newTagsList.containsAll(currentTagsList)) { filteredOfferings.add(offering); } } return filteredOfferings; }