bug 7553: Virtual Router service offering

This commit is contained in:
Abhinandan Prateek 2011-05-21 22:21:12 +05:30
parent 30e8ed3ab6
commit 5ad41e09ae
13 changed files with 44 additions and 54 deletions

View File

@ -36,6 +36,8 @@ public interface DiskOffering {
String getName();
boolean getSystemUse();
String getDisplayText();
long getDiskSizeInBytes();

View File

@ -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.
*/

View File

@ -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

View File

@ -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());

View File

@ -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());

View File

@ -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() {

View File

@ -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() {

View File

@ -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);
}

View File

@ -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)) {

View File

@ -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() {

View File

@ -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);
}

View File

@ -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");

View File

@ -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,