mirror of https://github.com/k3s-io/k3s
Fixup validation for containers requests or limits to use quantity comparison
parent
1478cf345a
commit
cc2137fccc
|
@ -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"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue