From 7721126076b596cc6a1da391e1bd0156bc34448b Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Tue, 2 Apr 2019 15:41:37 +0530 Subject: [PATCH] remove domain id usage Signed-off-by: Rohit Yadav --- .../java/com/cloud/offering/DiskOffering.java | 2 - .../com/cloud/offering/ServiceOffering.java | 1 - .../api/response/DiskOfferingResponse.java | 46 ++++++++------- .../com/cloud/service/ServiceOfferingVO.java | 13 ++++- .../com/cloud/storage/DiskOfferingVO.java | 57 +------------------ .../quota/vo/ServiceOfferingVO.java | 14 ++++- .../main/java/com/cloud/api/ApiDBUtils.java | 8 ++- .../query/dao/DiskOfferingJoinDaoImpl.java | 2 - .../api/query/vo/DiskOfferingJoinVO.java | 30 +--------- .../cloud/server/ConfigurationServerImpl.java | 16 +++--- .../java/com/cloud/test/DatabaseConfig.java | 3 +- ui/scripts/configuration.js | 20 ++----- 12 files changed, 70 insertions(+), 142 deletions(-) diff --git a/api/src/main/java/com/cloud/offering/DiskOffering.java b/api/src/main/java/com/cloud/offering/DiskOffering.java index bb6b8d55fe6..fd21118e4a2 100644 --- a/api/src/main/java/com/cloud/offering/DiskOffering.java +++ b/api/src/main/java/com/cloud/offering/DiskOffering.java @@ -59,8 +59,6 @@ public interface DiskOffering extends InfrastructureEntity, Identity, InternalId boolean isUseLocalStorage(); - Long getDomainId(); - String getName(); boolean isSystemUse(); diff --git a/api/src/main/java/com/cloud/offering/ServiceOffering.java b/api/src/main/java/com/cloud/offering/ServiceOffering.java index 6f0116d1a4a..996b76ea338 100644 --- a/api/src/main/java/com/cloud/offering/ServiceOffering.java +++ b/api/src/main/java/com/cloud/offering/ServiceOffering.java @@ -104,7 +104,6 @@ public interface ServiceOffering extends DiskOffering, InfrastructureEntity, Int @Override boolean isUseLocalStorage(); - @Override Long getDomainId(); /** diff --git a/api/src/main/java/org/apache/cloudstack/api/response/DiskOfferingResponse.java b/api/src/main/java/org/apache/cloudstack/api/response/DiskOfferingResponse.java index d5dc44fd76c..8c0fd70ff98 100644 --- a/api/src/main/java/org/apache/cloudstack/api/response/DiskOfferingResponse.java +++ b/api/src/main/java/org/apache/cloudstack/api/response/DiskOfferingResponse.java @@ -17,8 +17,6 @@ package org.apache.cloudstack.api.response; import java.util.Date; -import java.util.HashMap; -import java.util.Map; import org.apache.cloudstack.api.ApiConstants; import org.apache.cloudstack.api.BaseResponse; @@ -35,13 +33,21 @@ public class DiskOfferingResponse extends BaseResponse { private String id; @SerializedName(ApiConstants.DOMAIN_ID) - @Param(description = "the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable.") + @Param(description = "the domain ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.") private String domainId; @SerializedName(ApiConstants.DOMAIN) - @Param(description = "the domain name this disk offering belongs to. Ignore this information as it is not currently applicable.") + @Param(description = "the domain name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.") private String domain; + @SerializedName(ApiConstants.ZONE_ID) + @Param(description = "the zone ID(s) this disk offering belongs to. Ignore this information as it is not currently applicable.", since = "4.13.0") + private String zoneId; + + @SerializedName(ApiConstants.ZONE) + @Param(description = "the zone name(s) this disk offering belongs to. Ignore this information as it is not currently applicable.", since = "4.13.0") + private String zone; + @SerializedName(ApiConstants.NAME) @Param(description = "the name of the disk offering") private String name; @@ -145,10 +151,6 @@ public class DiskOfferingResponse extends BaseResponse { @Param(description = "whether to display the offering to the end user or not.") private Boolean displayOffering; - @SerializedName(ApiConstants.DETAILS) - @Param(description = "the details of the disk offering", since = "4.13.0") - private Map details = new HashMap<>(); - public Boolean getDisplayOffering() { return displayOffering; } @@ -182,6 +184,22 @@ public class DiskOfferingResponse extends BaseResponse { this.domain = domain; } + public String getZoneId() { + return zoneId; + } + + public void setZoneId(String zoneId) { + this.zoneId = zoneId; + } + + public String getZone() { + return zone; + } + + public void setZone(String zone) { + this.zone = zone; + } + public String getName() { return name; } @@ -333,16 +351,4 @@ public class DiskOfferingResponse extends BaseResponse { public void setIopsWriteRateMaxLength(Long iopsWriteRateMaxLength) { this.iopsWriteRateMaxLength = iopsWriteRateMaxLength; } - - public Map getDetails() { - return details; - } - - public void putDetail(String key, Object value) { - this.details.put(key, value); - } - - public void setDetails(Map details) { - this.details = details; - } } diff --git a/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java b/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java index 8cc834cecff..c30e5798679 100644 --- a/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java +++ b/engine/schema/src/main/java/com/cloud/service/ServiceOfferingVO.java @@ -35,6 +35,9 @@ import com.cloud.vm.VirtualMachine; @DiscriminatorValue(value = "Service") @PrimaryKeyJoinColumn(name = "id") public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering { + @Column(name = "domain_id") + Long domainId; + @Column(name = "cpu") private Integer cpu; @@ -106,7 +109,8 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering public ServiceOfferingVO(String name, Integer cpu, Integer ramSize, Integer speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitCpuUse, boolean volatileVm, String displayText, ProvisioningType provisioningType, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vmType, Long domainId) { - super(name, displayText, provisioningType, false, tags, recreatable, useLocalStorage, systemUse, true, domainId); + super(name, displayText, provisioningType, false, tags, recreatable, useLocalStorage, systemUse, true); + this.domainId = domainId; this.cpu = cpu; this.ramSize = ramSize; this.speed = speed; @@ -177,9 +181,9 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering offering.isSystemUse(), true, offering.isCustomizedIops()== null ? false:offering.isCustomizedIops(), - offering.getDomainId(), offering.getMinIops(), offering.getMaxIops()); + domainId = offering.getDomainId(); cpu = offering.getCpu(); ramSize = offering.getRamSize(); speed = offering.getSpeed(); @@ -192,6 +196,11 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering vmType = offering.getSystemVmType(); } + @Override + public Long getDomainId() { + return domainId; + } + @Override public boolean isOfferHA() { return offerHA; diff --git a/engine/schema/src/main/java/com/cloud/storage/DiskOfferingVO.java b/engine/schema/src/main/java/com/cloud/storage/DiskOfferingVO.java index 5a5dcd4863d..7f91537f7cb 100644 --- a/engine/schema/src/main/java/com/cloud/storage/DiskOfferingVO.java +++ b/engine/schema/src/main/java/com/cloud/storage/DiskOfferingVO.java @@ -50,10 +50,6 @@ public class DiskOfferingVO implements DiskOffering { @Column(name = "id") long id; - // TODO: remove me - @Column(name = "domain_id") - Long domainId = null; - @Column(name = "unique_name") private String uniqueName; @@ -164,9 +160,8 @@ public class DiskOfferingVO implements DiskOffering { uuid = UUID.randomUUID().toString(); } - public DiskOfferingVO(Long domainId, String name, String displayText, Storage.ProvisioningType provisioningType, long diskSize, String tags, boolean isCustomized, Boolean isCustomizedIops, + public DiskOfferingVO(String name, String displayText, Storage.ProvisioningType provisioningType, long diskSize, String tags, boolean isCustomized, Boolean isCustomizedIops, Long minIops, Long maxIops, DiskCacheMode cacheMode) { - this.domainId = domainId; this.name = name; this.displayText = displayText; this.provisioningType = provisioningType; @@ -201,28 +196,8 @@ public class DiskOfferingVO implements DiskOffering { state = State.Active; } - public DiskOfferingVO(Long domainId, String name, String displayText, Storage.ProvisioningType provisioningType, long diskSize, String tags, boolean isCustomized, Boolean isCustomizedIops, - Long minIops, Long maxIops) { - this.domainId = domainId; - this.name = name; - this.displayText = displayText; - this.provisioningType = provisioningType; - this.diskSize = diskSize; - this.tags = tags; - recreatable = false; - type = Type.Disk; - useLocalStorage = false; - customized = isCustomized; - uuid = UUID.randomUUID().toString(); - customizedIops = isCustomizedIops; - this.minIops = minIops; - this.maxIops = maxIops; - state = State.Active; - } - public DiskOfferingVO(String name, String displayText, Storage.ProvisioningType provisioningType, boolean mirrored, String tags, boolean recreatable, boolean useLocalStorage, boolean systemUse, boolean customized) { - domainId = null; type = Type.Service; this.name = name; this.displayText = displayText; @@ -236,26 +211,8 @@ public class DiskOfferingVO implements DiskOffering { state = State.Active; } - // domain specific offerings constructor (null domainId implies public - // offering) - public DiskOfferingVO(String name, String displayText, Storage.ProvisioningType provisioningType, boolean mirrored, String tags, boolean recreatable, boolean useLocalStorage, boolean systemUse, - boolean customized, Long domainId) { - type = Type.Service; - this.name = name; - this.displayText = displayText; - this.provisioningType = provisioningType; - this.tags = tags; - this.recreatable = recreatable; - this.useLocalStorage = useLocalStorage; - this.systemUse = systemUse; - this.customized = customized; - this.domainId = domainId; - uuid = UUID.randomUUID().toString(); - state = State.Active; - } - public DiskOfferingVO(long id, String name, String displayText, Storage.ProvisioningType provisioningType, boolean mirrored, String tags, boolean recreatable, boolean useLocalStorage, - boolean systemUse, boolean customized, boolean customizedIops, Long domainId, Long minIops, Long maxIops) { + boolean systemUse, boolean customized, boolean customizedIops, Long minIops, Long maxIops) { this.id = id; type = Type.Service; this.name = name; @@ -267,7 +224,6 @@ public class DiskOfferingVO implements DiskOffering { this.systemUse = systemUse; this.customized = customized; this.customizedIops = customizedIops; - this.domainId = domainId; uuid = UUID.randomUUID().toString(); state = State.Active; this.minIops = minIops; @@ -347,11 +303,6 @@ public class DiskOfferingVO implements DiskOffering { return useLocalStorage; } - @Override - public Long getDomainId() { - return domainId; - } - @Override public Type getType() { return type; @@ -362,10 +313,6 @@ public class DiskOfferingVO implements DiskOffering { return recreatable; } - public void setDomainId(Long domainId) { - this.domainId = domainId; - } - @Override public String getName() { return name; diff --git a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java index 00bdb82cdec..16073c47350 100644 --- a/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java +++ b/framework/quota/src/main/java/org/apache/cloudstack/quota/vo/ServiceOfferingVO.java @@ -36,6 +36,9 @@ import com.cloud.vm.VirtualMachine; @DiscriminatorValue(value = "Service") @PrimaryKeyJoinColumn(name = "id") public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering { + @Column(name = "domain_id") + Long domainId; + @Column(name = "cpu") private Integer cpu; @@ -103,7 +106,8 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering public ServiceOfferingVO(String name, Integer cpu, Integer ramSize, Integer speed, Integer rateMbps, Integer multicastRateMbps, boolean offerHA, boolean limitCpuUse, boolean volatileVm, String displayText, ProvisioningType provisioningType, boolean useLocalStorage, boolean recreatable, String tags, boolean systemUse, VirtualMachine.Type vmType, Long domainId) { - super(name, displayText, provisioningType, false, tags, recreatable, useLocalStorage, systemUse, true, domainId); + super(name, displayText, provisioningType, false, tags, recreatable, useLocalStorage, systemUse, true); + this.domainId = domainId; this.cpu = cpu; this.ramSize = ramSize; this.speed = speed; @@ -133,8 +137,9 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering 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.isUseLocalStorage(), offering.isSystemUse(), true, offering.isCustomizedIops() == null ? false : offering.isCustomizedIops(), offering.getMinIops(), offering.getMaxIops()); + domainId = offering.getDomainId(); cpu = offering.getCpu(); ramSize = offering.getRamSize(); speed = offering.getSpeed(); @@ -226,6 +231,11 @@ public class ServiceOfferingVO extends DiskOfferingVO implements ServiceOffering return multicastRateMbps; } + @Override + public Long getDomainId() { + return domainId; + } + public void setHostTag(String hostTag) { this.hostTag = hostTag; } diff --git a/server/src/main/java/com/cloud/api/ApiDBUtils.java b/server/src/main/java/com/cloud/api/ApiDBUtils.java index a24bb9af12e..de91e718c21 100644 --- a/server/src/main/java/com/cloud/api/ApiDBUtils.java +++ b/server/src/main/java/com/cloud/api/ApiDBUtils.java @@ -1915,7 +1915,7 @@ public class ApiDBUtils { public static DiskOfferingResponse newDiskOfferingResponse(DiskOfferingJoinVO offering) { DiskOfferingResponse diskOfferingResponse = s_diskOfferingJoinDao.newDiskOfferingResponse(offering); if (diskOfferingResponse != null) { - Map details = s_diskOfferingDetailsDao.listDetailsKeyPairs(offering.getId(), true); + Map details = s_diskOfferingDetailsDao.listDetailsKeyPairs(offering.getId()); if (MapUtils.isNotEmpty(details)) { // Domains String[] domainIds = details.getOrDefault(ApiConstants.DOMAIN_ID_LIST, "").split(","); @@ -1923,14 +1923,16 @@ public class ApiDBUtils { for (DomainVO domain : s_domainDao.list(domainIds)) { domains.put(domain.getName(), domain.getUuid()); } - diskOfferingResponse.putDetail(ApiConstants.DOMAIN, domains); + diskOfferingResponse.setDomain(String.join(", ", domains.keySet())); + diskOfferingResponse.setDomainId(String.join(", ", domains.values())); // Zones String[] zoneIds = details.getOrDefault(ApiConstants.ZONE_ID_LIST, "").split(","); final Map zones = new HashMap<>(); for (DataCenterVO zone : s_zoneDao.list(zoneIds)) { zones.put(zone.getName(), zone.getUuid()); } - diskOfferingResponse.putDetail(ApiConstants.ZONE, zones); + diskOfferingResponse.setZone(String.join(", ", zones.keySet())); + diskOfferingResponse.setZoneId(String.join(", ", zones.values())); } } return diskOfferingResponse; diff --git a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java index b46fbd0deb6..22c8a6f3e10 100644 --- a/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java +++ b/server/src/main/java/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java @@ -63,8 +63,6 @@ public class DiskOfferingJoinDaoImpl extends GenericDaoBase