Fixup validation for containers requests or limits to use quantity comparison

pull/6/head
derekwaynecarr 2016-02-09 21:42:12 -05:00
parent 1478cf345a
commit cc2137fccc
1 changed files with 1 additions and 9 deletions

View File

@ -2211,15 +2211,7 @@ func ValidateResourceRequirements(requirements *api.ResourceRequirements, fldPat
// Check that request <= limit. // Check that request <= limit.
requestQuantity, exists := requirements.Requests[resourceName] requestQuantity, exists := requirements.Requests[resourceName]
if exists { if exists {
var requestValue, limitValue int64 if quantity.Cmp(requestQuantity) < 0 {
requestValue = requestQuantity.Value()
limitValue = quantity.Value()
// Do a more precise comparison if possible (if the value won't overflow).
if requestValue <= resource.MaxMilliValue && limitValue <= resource.MaxMilliValue {
requestValue = requestQuantity.MilliValue()
limitValue = quantity.MilliValue()
}
if limitValue < requestValue {
allErrs = append(allErrs, field.Invalid(fldPath, quantity.String(), "must be greater than or equal to request")) allErrs = append(allErrs, field.Invalid(fldPath, quantity.String(), "must be greater than or equal to request"))
} }
} }