mirror of https://github.com/apache/cloudstack.git
bug 7553: Virtual Router service offering
This commit is contained in:
parent
30e8ed3ab6
commit
5ad41e09ae
|
|
@ -36,6 +36,8 @@ public interface DiskOffering {
|
|||
|
||||
String getName();
|
||||
|
||||
boolean getSystemUse();
|
||||
|
||||
String getDisplayText();
|
||||
|
||||
long getDiskSizeInBytes();
|
||||
|
|
|
|||
|
|
@ -32,17 +32,17 @@ public interface ServiceOffering {
|
|||
|
||||
String getTags();
|
||||
|
||||
|
||||
/**
|
||||
* @return Is this a system VM offering?
|
||||
*/
|
||||
boolean getIsSystem();
|
||||
|
||||
/**
|
||||
* @return user readable description
|
||||
*/
|
||||
String getName();
|
||||
|
||||
|
||||
/**
|
||||
* @return is this a system service offering
|
||||
*/
|
||||
boolean getSystemUse();
|
||||
|
||||
/**
|
||||
* @return # of cpu.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -180,8 +180,14 @@ public class DiskOfferingVO implements DiskOffering {
|
|||
this.name = name;
|
||||
}
|
||||
|
||||
public boolean isSystemUse() {
|
||||
|
||||
@Override
|
||||
public boolean getSystemUse() {
|
||||
return systemUse;
|
||||
}
|
||||
|
||||
public void setSystemUse(boolean systemUse) {
|
||||
this.systemUse = systemUse;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@ public class ApiResponseHelper implements ResponseGenerator {
|
|||
ServiceOfferingResponse offeringResponse = new ServiceOfferingResponse();
|
||||
offeringResponse.setId(offering.getId());
|
||||
offeringResponse.setName(offering.getName());
|
||||
offeringResponse.setIsSystemOffering(offering.getIsSystem());
|
||||
offeringResponse.setIsSystemOffering(offering.getSystemUse());
|
||||
offeringResponse.setDisplayText(offering.getDisplayText());
|
||||
offeringResponse.setCpuNumber(offering.getCpu());
|
||||
offeringResponse.setCpuSpeed(offering.getSpeed());
|
||||
|
|
|
|||
|
|
@ -1502,7 +1502,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager, Configura
|
|||
public ServiceOfferingVO createServiceOffering(long userId, boolean isSystem, String name, int cpu, int ramSize, int speed, String displayText, boolean localStorageRequired, boolean offerHA, boolean limitResourceUse, String tags,
|
||||
Long domainId, String hostTag) {
|
||||
tags = cleanupTags(tags);
|
||||
ServiceOfferingVO offering = new ServiceOfferingVO(name, isSystem, cpu, ramSize, speed, null, null, offerHA, limitResourceUse, displayText, localStorageRequired, false, tags, false, domainId, hostTag);
|
||||
ServiceOfferingVO offering = new ServiceOfferingVO(name, cpu, ramSize, speed, null, null, offerHA, limitResourceUse, displayText, localStorageRequired, false, tags, isSystem, domainId, hostTag);
|
||||
|
||||
if ((offering = _serviceOfferingDao.persist(offering)) != null) {
|
||||
UserContext.current().setEventDetails("Service offering id=" + offering.getId());
|
||||
|
|
|
|||
|
|
@ -85,7 +85,10 @@ public class DiskOffering21VO {
|
|||
|
||||
@Column(name="use_local_storage")
|
||||
private boolean useLocalStorage;
|
||||
|
||||
|
||||
@Column(name="system_use")
|
||||
protected boolean systemUse;
|
||||
|
||||
|
||||
public DiskOffering21VO() {
|
||||
}
|
||||
|
|
@ -123,6 +126,14 @@ public class DiskOffering21VO {
|
|||
|
||||
public String getUniqueName() {
|
||||
return uniqueName;
|
||||
}
|
||||
|
||||
public boolean getSystemUse() {
|
||||
return systemUse;
|
||||
}
|
||||
|
||||
public void setSystemUse(boolean systemUse) {
|
||||
this.systemUse = systemUse;
|
||||
}
|
||||
|
||||
public boolean getUseLocalStorage() {
|
||||
|
|
|
|||
|
|
@ -58,10 +58,7 @@ public class ServiceOffering21VO extends DiskOffering21VO implements ServiceOffe
|
|||
private Network.GuestIpType guestIpType;
|
||||
|
||||
@Column(name="host_tag")
|
||||
private String hostTag;
|
||||
|
||||
@Column(name="is_system")
|
||||
private boolean isSystem=false;
|
||||
private String hostTag;
|
||||
|
||||
protected ServiceOffering21VO() {
|
||||
super();
|
||||
|
|
@ -82,12 +79,7 @@ public class ServiceOffering21VO extends DiskOffering21VO implements ServiceOffe
|
|||
this(name, cpu, ramSize, speed, rateMbps, multicastRateMbps, offerHA, displayText, guestIpType, useLocalStorage, recreatable, tags);
|
||||
this.hostTag = hostTag;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean getIsSystem() {
|
||||
return isSystem;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean getOfferHA() {
|
||||
|
|
|
|||
|
|
@ -357,7 +357,7 @@ public class VirtualNetworkApplianceManagerImpl implements VirtualNetworkApplian
|
|||
}
|
||||
|
||||
// check if it is a system service offering, if yes return with error as it cannot be used for user vms
|
||||
if (!newServiceOffering.getIsSystem()) {
|
||||
if (!newServiceOffering.getSystemUse()) {
|
||||
throw new InvalidParameterValueException("Cannot upgrade router vm to a non system service offering " + serviceOfferingId);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2326,7 +2326,7 @@ public class ManagementServerImpl implements ManagementServer {
|
|||
sb.and("state", sb.entity().getState(), SearchCriteria.Op.NEQ);
|
||||
|
||||
SearchBuilder<DiskOfferingVO> diskOfferingSearch = _diskOfferingDao.createSearchBuilder();
|
||||
diskOfferingSearch.and("systemUse", diskOfferingSearch.entity().isSystemUse(), SearchCriteria.Op.NEQ);
|
||||
diskOfferingSearch.and("systemUse", diskOfferingSearch.entity().getSystemUse(), SearchCriteria.Op.NEQ);
|
||||
sb.join("diskOfferingSearch", diskOfferingSearch, sb.entity().getDiskOfferingId(), diskOfferingSearch.entity().getId(), JoinBuilder.JoinType.LEFTOUTER);
|
||||
|
||||
if (((accountId == null) && (domainId != null) && isRecursive)) {
|
||||
|
|
|
|||
|
|
@ -56,9 +56,6 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering
|
|||
|
||||
@Column(name="host_tag")
|
||||
private String hostTag;
|
||||
|
||||
@Column(name="is_system")
|
||||
private boolean isSystem;
|
||||
|
||||
protected ServiceOfferingVO() {
|
||||
super();
|
||||
|
|
@ -89,24 +86,7 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering
|
|||
public ServiceOfferingVO(String name, int cpu, int ramSize, int speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitResourceUse, String displayText, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, Long domainId, String hostTag) {
|
||||
this(name, cpu, ramSize, speed, rateMbps, multicastRateMbps, offerHA, limitResourceUse, displayText, useLocalStorage, recreatable, tags, systemUse, domainId);
|
||||
this.hostTag = hostTag;
|
||||
}
|
||||
|
||||
|
||||
public ServiceOfferingVO(String name, boolean isSystem, int cpu, int ramSize, int speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitResourceUse, String displayText, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, Long domainId, String hostTag) {
|
||||
this(name, cpu, ramSize, speed, rateMbps, multicastRateMbps, offerHA, limitResourceUse, displayText, useLocalStorage, recreatable, tags, systemUse, domainId);
|
||||
this.hostTag = hostTag;
|
||||
this.isSystem = isSystem;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean getIsSystem() {
|
||||
return isSystem;
|
||||
}
|
||||
|
||||
public void setIsSystemOffering(boolean isSystem) {
|
||||
this.isSystem = isSystem;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getOfferHA() {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase<ServiceOfferingVO, Lo
|
|||
|
||||
protected final SearchBuilder<ServiceOfferingVO> UniqueNameSearch;
|
||||
protected final SearchBuilder<ServiceOfferingVO> ServiceOfferingsByDomainIdSearch;
|
||||
protected final SearchBuilder<ServiceOfferingVO> ServiceOfferingsByDomainIdAndIsSystemSearch;
|
||||
protected final SearchBuilder<ServiceOfferingVO> ServiceOfferingsByDomainIdAndUseSystemSearch;
|
||||
protected final SearchBuilder<ServiceOfferingVO> ServiceOfferingsByKeywordSearch;
|
||||
protected final SearchBuilder<ServiceOfferingVO> PublicServiceOfferingSearch;
|
||||
|
||||
|
|
@ -46,22 +46,22 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase<ServiceOfferingVO, Lo
|
|||
|
||||
UniqueNameSearch = createSearchBuilder();
|
||||
UniqueNameSearch.and("name", UniqueNameSearch.entity().getUniqueName(), SearchCriteria.Op.EQ);
|
||||
UniqueNameSearch.and("system", UniqueNameSearch.entity().isSystemUse(), SearchCriteria.Op.EQ);
|
||||
UniqueNameSearch.and("system", UniqueNameSearch.entity().getSystemUse(), SearchCriteria.Op.EQ);
|
||||
UniqueNameSearch.done();
|
||||
|
||||
ServiceOfferingsByDomainIdSearch = createSearchBuilder();
|
||||
ServiceOfferingsByDomainIdSearch.and("domainId", ServiceOfferingsByDomainIdSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
|
||||
ServiceOfferingsByDomainIdSearch.done();
|
||||
|
||||
ServiceOfferingsByDomainIdAndIsSystemSearch = createSearchBuilder();
|
||||
ServiceOfferingsByDomainIdAndIsSystemSearch.and("domainId", ServiceOfferingsByDomainIdAndIsSystemSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
|
||||
ServiceOfferingsByDomainIdAndIsSystemSearch.and("isSystem", ServiceOfferingsByDomainIdAndIsSystemSearch.entity().getIsSystem(), SearchCriteria.Op.EQ);
|
||||
ServiceOfferingsByDomainIdAndIsSystemSearch.done();
|
||||
ServiceOfferingsByDomainIdAndUseSystemSearch = createSearchBuilder();
|
||||
ServiceOfferingsByDomainIdAndUseSystemSearch.and("domainId", ServiceOfferingsByDomainIdAndUseSystemSearch.entity().getDomainId(), SearchCriteria.Op.EQ);
|
||||
ServiceOfferingsByDomainIdAndUseSystemSearch.and("system", ServiceOfferingsByDomainIdAndUseSystemSearch.entity().getSystemUse(), SearchCriteria.Op.EQ);
|
||||
ServiceOfferingsByDomainIdAndUseSystemSearch.done();
|
||||
|
||||
|
||||
PublicServiceOfferingSearch = createSearchBuilder();
|
||||
PublicServiceOfferingSearch.and("domainId", PublicServiceOfferingSearch.entity().getDomainId(), SearchCriteria.Op.NULL);
|
||||
PublicServiceOfferingSearch.and("system", PublicServiceOfferingSearch.entity().isSystemUse(), SearchCriteria.Op.EQ);
|
||||
PublicServiceOfferingSearch.and("system", PublicServiceOfferingSearch.entity().getSystemUse(), SearchCriteria.Op.EQ);
|
||||
PublicServiceOfferingSearch.done();
|
||||
|
||||
ServiceOfferingsByKeywordSearch = createSearchBuilder();
|
||||
|
|
@ -113,9 +113,9 @@ public class ServiceOfferingDaoImpl extends GenericDaoBase<ServiceOfferingVO, Lo
|
|||
|
||||
@Override
|
||||
public List<ServiceOfferingVO> findServiceOfferingByDomainIdAndIsSystem(Long domainId, Boolean isSystem){
|
||||
SearchCriteria<ServiceOfferingVO> sc = ServiceOfferingsByDomainIdAndIsSystemSearch.create();
|
||||
SearchCriteria<ServiceOfferingVO> sc = ServiceOfferingsByDomainIdAndUseSystemSearch.create();
|
||||
sc.setParameters("domainId", domainId);
|
||||
sc.setParameters("isSystem", isSystem);
|
||||
sc.setParameters("system", isSystem);
|
||||
return listBy(sc);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ public class DiskOfferingDaoImpl extends GenericDaoBase<DiskOfferingVO, Long> im
|
|||
|
||||
PublicDiskOfferingSearch = createSearchBuilder();
|
||||
PublicDiskOfferingSearch.and("domainId", PublicDiskOfferingSearch.entity().getDomainId(), SearchCriteria.Op.NULL);
|
||||
PublicDiskOfferingSearch.and("system", PublicDiskOfferingSearch.entity().isSystemUse(), SearchCriteria.Op.EQ);
|
||||
PublicDiskOfferingSearch.and("system", PublicDiskOfferingSearch.entity().getSystemUse(), SearchCriteria.Op.EQ);
|
||||
PublicDiskOfferingSearch.done();
|
||||
|
||||
_typeAttr = _allAttributes.get("type");
|
||||
|
|
|
|||
|
|
@ -1122,7 +1122,6 @@ CREATE TABLE `cloud`.`disk_offering` (
|
|||
|
||||
CREATE TABLE `cloud`.`service_offering` (
|
||||
`id` bigint unsigned NOT NULL,
|
||||
`is_system` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT 'is a system vm offering',
|
||||
`cpu` int(10) unsigned NOT NULL COMMENT '# of cores',
|
||||
`speed` int(10) unsigned NOT NULL COMMENT 'speed per core in mhz',
|
||||
`ram_size` bigint unsigned NOT NULL,
|
||||
|
|
|
|||
Loading…
Reference in New Issue