rafaelweingartner commented on a change in pull request #2231: 
[CLOUDSTACK-10039] Adding IOPS/GB offering
URL: https://github.com/apache/cloudstack/pull/2231#discussion_r170310467
 
 

 ##########
 File path: 
server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java
 ##########
 @@ -2566,6 +2567,61 @@ protected DiskOfferingVO createDiskOffering(final Long 
userId, final Long domain
             isCustomized = true;
         }
 
+        if (minIopsPerGb != null || maxIopsPerGb != null) {
+
+            if (!isCustomized) {
+               throw new InvalidParameterValueException("Cannot set Min/Max 
IOPS/GB for a fixed size disk offering");
+            }
+
+            if ((isCustomizedIops != null && isCustomizedIops) || minIops != 
null || maxIops != null) {
+                throw new InvalidParameterValueException("Cannot set Min/Max 
IOPS/GB with either " +
+                        "custom IOPS or fixed IOPS");
+            }
+
+            if (minIopsPerGb != null && maxIopsPerGb != null) {
+                if (minIopsPerGb <= 0 || maxIopsPerGb <= 0) {
+                    throw new InvalidParameterValueException("Min/Max IOPS/GB 
value must be greater than 0");
+                }
+
+                if (minIopsPerGb > maxIopsPerGb){
+                    throw new InvalidParameterValueException("Min IOPS/GB must 
be greater than max IOPS/GB");
+                }
+            }
+
+            //if either one of them is set but the other is not
+            if ((minIopsPerGb != null && maxIopsPerGb == null) || 
(minIopsPerGb == null && maxIopsPerGb != null)) {
+                throw new InvalidParameterValueException("Both min IOPS/GB and 
max IOPS/GB must be specified");
+            }
+        }
+
+        if (highestMinIops != null && highestMaxIops != null) {
 
 Review comment:
   This whole validation block can also be extracted to a method, documented 
and unit tested.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to