CLOUDSTACK-6170
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9b66866d Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9b66866d Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9b66866d Branch: refs/heads/resize-root Commit: 9b66866dc2085486f465159cbd446ac03e266a2c Parents: ea0dec7 Author: Mike Tutkowski <[email protected]> Authored: Thu Mar 6 00:29:10 2014 -0700 Committer: Mike Tutkowski <[email protected]> Committed: Thu Mar 6 13:01:11 2014 -0700 ---------------------------------------------------------------------- .../admin/offering/CreateDiskOfferingCmd.java | 6 +-- .../api/response/DiskOfferingResponse.java | 12 +++++ .../api/response/ServiceOfferingResponse.java | 48 ++++++++++++++++++++ .../api/query/dao/DiskOfferingJoinDaoImpl.java | 1 + .../query/dao/ServiceOfferingJoinDaoImpl.java | 4 ++ .../cloud/api/query/vo/DiskOfferingJoinVO.java | 7 ++- .../api/query/vo/ServiceOfferingJoinVO.java | 28 ++++++++++++ setup/db/db/schema-430to440.sql | 5 ++ ui/scripts/configuration.js | 40 ++++++++++++++++ 9 files changed, 146 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java b/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java index 84c2c25..67c9792 100644 --- a/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java +++ b/api/src/org/apache/cloudstack/api/command/admin/offering/CreateDiskOfferingCmd.java @@ -93,9 +93,9 @@ public class CreateDiskOfferingCmd extends BaseCmd { private Long maxIops; @Parameter(name = ApiConstants.HYPERVISOR_SNAPSHOT_RESERVE, - type = CommandType.INTEGER, - required = false, - description = "Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)") + type = CommandType.INTEGER, + required = false, + description = "Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)") private Integer hypervisorSnapshotReserve; ///////////////////////////////////////////////////// http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java index ebc2242..0894eec 100644 --- a/api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java +++ b/api/src/org/apache/cloudstack/api/response/DiskOfferingResponse.java @@ -73,6 +73,10 @@ public class DiskOfferingResponse extends BaseResponse { @Param(description = "the max iops of the disk offering") private Long maxIops; + @SerializedName(ApiConstants.HYPERVISOR_SNAPSHOT_RESERVE) + @Param(description = "Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)") + private Integer hypervisorSnapshotReserve; + @SerializedName(ApiConstants.TAGS) @Param(description = "the tags for the disk offering") private String tags; @@ -210,6 +214,14 @@ public class DiskOfferingResponse extends BaseResponse { this.maxIops = maxIops; } + public Integer getHypervisorSnapshotReserve() { + return hypervisorSnapshotReserve; + } + + public void setHypervisorSnapshotReserve(Integer hypervisorSnapshotReserve) { + this.hypervisorSnapshotReserve = hypervisorSnapshotReserve; + } + public String getCacheMode() { return cacheMode; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java ---------------------------------------------------------------------- diff --git a/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java b/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java index 526e52b..d371f9a 100644 --- a/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java +++ b/api/src/org/apache/cloudstack/api/response/ServiceOfferingResponse.java @@ -106,6 +106,22 @@ public class ServiceOfferingResponse extends BaseResponse { @Param(description = "data transfer rate in megabits per second allowed.") private Integer networkRate; + @SerializedName("iscustomizediops") + @Param(description = "true if disk offering uses custom iops, false otherwise") + private Boolean customizedIops; + + @SerializedName(ApiConstants.MIN_IOPS) + @Param(description = "the min iops of the disk offering") + private Long minIops; + + @SerializedName(ApiConstants.MAX_IOPS) + @Param(description = "the max iops of the disk offering") + private Long maxIops; + + @SerializedName(ApiConstants.HYPERVISOR_SNAPSHOT_RESERVE) + @Param(description = "Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)") + private Integer hypervisorSnapshotReserve; + @SerializedName("diskBytesReadRate") @Param(description = "bytes read rate of the service offering") private Long bytesReadRate; @@ -293,6 +309,38 @@ public class ServiceOfferingResponse extends BaseResponse { this.isVolatile = isVolatile; } + public Boolean isCustomizedIops() { + return customizedIops; + } + + public void setCustomizedIops(Boolean customizedIops) { + this.customizedIops = customizedIops; + } + + public Long getMinIops() { + return minIops; + } + + public void setMinIops(Long minIops) { + this.minIops = minIops; + } + + public Long getMaxIops() { + return maxIops; + } + + public void setMaxIops(Long maxIops) { + this.maxIops = maxIops; + } + + public Integer getHypervisorSnapshotReserve() { + return hypervisorSnapshotReserve; + } + + public void setHypervisorSnapshotReserve(Integer hypervisorSnapshotReserve) { + this.hypervisorSnapshotReserve = hypervisorSnapshotReserve; + } + public void setBytesReadRate(Long bytesReadRate) { this.bytesReadRate = bytesReadRate; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java index d153712..bf28c03 100644 --- a/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/DiskOfferingJoinDaoImpl.java @@ -71,6 +71,7 @@ public class DiskOfferingJoinDaoImpl extends GenericDaoBase<DiskOfferingJoinVO, diskOfferingResponse.setTags(offering.getTags()); diskOfferingResponse.setCustomized(offering.isCustomized()); diskOfferingResponse.setCustomizedIops(offering.isCustomizedIops()); + diskOfferingResponse.setHypervisorSnapshotReserve(offering.getHypervisorSnapshotReserve()); diskOfferingResponse.setStorageType(offering.isUseLocalStorage() ? ServiceOffering.StorageType.local.toString() : ServiceOffering.StorageType.shared.toString()); diskOfferingResponse.setBytesReadRate(offering.getBytesReadRate()); diskOfferingResponse.setBytesWriteRate(offering.getBytesWriteRate()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java index 7e113e4..7fcc5c6 100644 --- a/server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java +++ b/server/src/com/cloud/api/query/dao/ServiceOfferingJoinDaoImpl.java @@ -73,6 +73,10 @@ public class ServiceOfferingJoinDaoImpl extends GenericDaoBase<ServiceOfferingJo offeringResponse.setNetworkRate(offering.getRateMbps()); offeringResponse.setHostTag(offering.getHostTag()); offeringResponse.setDeploymentPlanner(offering.getDeploymentPlanner()); + offeringResponse.setCustomizedIops(offering.isCustomizedIops()); + offeringResponse.setMinIops(offering.getMinIops()); + offeringResponse.setMaxIops(offering.getMaxIops()); + offeringResponse.setHypervisorSnapshotReserve(offering.getHypervisorSnapshotReserve()); offeringResponse.setBytesReadRate(offering.getBytesReadRate()); offeringResponse.setBytesWriteRate(offering.getBytesWriteRate()); offeringResponse.setIopsReadRate(offering.getIopsReadRate()); http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java b/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java index 9d81bc4..e3e0a9e 100644 --- a/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java +++ b/server/src/com/cloud/api/query/vo/DiskOfferingJoinVO.java @@ -70,6 +70,9 @@ public class DiskOfferingJoinVO extends BaseViewVO implements InternalIdentity, @Column(name = "max_iops") private Long maxIops; + @Column(name = "hv_ss_reserve") + private Integer hypervisorSnapshotReserve; + @Column(name = "sort_key") int sortKey; @@ -165,8 +168,8 @@ public class DiskOfferingJoinVO extends BaseViewVO implements InternalIdentity, return maxIops; } - public void setMaxIops(Long maxIops) { - this.maxIops = maxIops; + public Integer getHypervisorSnapshotReserve() { + return hypervisorSnapshotReserve; } public String getCacheMode() { http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java b/server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java index 06b9e6b..dbeb530 100644 --- a/server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java +++ b/server/src/com/cloud/api/query/vo/ServiceOfferingJoinVO.java @@ -87,6 +87,18 @@ public class ServiceOfferingJoinVO extends BaseViewVO implements InternalIdentit @Column(name = "vm_type") private String vmType; + @Column(name = "customized_iops") + private Boolean customizedIops; + + @Column(name = "min_iops") + private Long minIops; + + @Column(name = "max_iops") + private Long maxIops; + + @Column(name = "hv_ss_reserve") + private Integer hypervisorSnapshotReserve; + @Column(name = "sort_key") int sortKey; @@ -180,6 +192,22 @@ public class ServiceOfferingJoinVO extends BaseViewVO implements InternalIdentit return domainPath; } + public Boolean isCustomizedIops() { + return customizedIops; + } + + public Long getMinIops() { + return minIops; + } + + public Long getMaxIops() { + return maxIops; + } + + public Integer getHypervisorSnapshotReserve() { + return hypervisorSnapshotReserve; + } + public int getSortKey() { return sortKey; } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/setup/db/db/schema-430to440.sql ---------------------------------------------------------------------- diff --git a/setup/db/db/schema-430to440.sql b/setup/db/db/schema-430to440.sql index acc7e21..be49b83 100644 --- a/setup/db/db/schema-430to440.sql +++ b/setup/db/db/schema-430to440.sql @@ -44,6 +44,7 @@ CREATE VIEW `cloud`.`disk_offering_view` AS disk_offering.removed, disk_offering.use_local_storage, disk_offering.system_use, + disk_offering.hv_ss_reserve, disk_offering.bytes_read_rate, disk_offering.bytes_write_rate, disk_offering.iops_read_rate, @@ -75,6 +76,10 @@ CREATE VIEW `cloud`.`service_offering_view` AS disk_offering.removed, disk_offering.use_local_storage, disk_offering.system_use, + disk_offering.customized_iops, + disk_offering.min_iops, + disk_offering.max_iops, + disk_offering.hv_ss_reserve, disk_offering.bytes_read_rate, disk_offering.bytes_write_rate, disk_offering.iops_read_rate, http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9b66866d/ui/scripts/configuration.js ---------------------------------------------------------------------- diff --git a/ui/scripts/configuration.js b/ui/scripts/configuration.js index 401262c..e3c35af 100644 --- a/ui/scripts/configuration.js +++ b/ui/scripts/configuration.js @@ -671,6 +671,37 @@ networkrate: { label: 'label.network.rate' }, + iscustomizediops: { + label: 'label.custom.disk.iops', + converter: cloudStack.converters.toBooleanText + }, + miniops: { + label: 'label.disk.iops.min', + converter: function(args) { + if (args > 0) + return args; + else + return "N/A"; + } + }, + maxiops: { + label: 'label.disk.iops.max', + converter: function(args) { + if (args > 0) + return args; + else + return "N/A"; + } + }, + hypervisorsnapshotreserve: { + label: 'label.hypervisor.snapshot.reserve', + converter: function(args) { + if (args > 0) + return args; + else + return "N/A"; + } + }, diskBytesReadRate: { label: 'label.disk.bytes.read.rate' }, @@ -1783,6 +1814,15 @@ return "N/A"; } }, + hypervisorsnapshotreserve: { + label: 'label.hypervisor.snapshot.reserve', + converter: function(args) { + if (args > 0) + return args; + else + return "N/A"; + } + }, diskBytesReadRate: { label: 'label.disk.bytes.write.rate' },
