Fix edge case in qos evaluation

This commit is contained in:
derekwaynecarr
2016-10-10 18:44:14 -04:00
parent cf707989b3
commit aeed9cab5e
2 changed files with 17 additions and 1 deletions

View File

@@ -68,11 +68,13 @@ func GetPodQOS(pod *api.Pod) QOSClass {
}
}
// process limits
qosLimitsFound := sets.NewString()
for name, quantity := range container.Resources.Limits {
if !supportedQoSComputeResources.Has(string(name)) {
continue
}
if quantity.Cmp(zeroQuantity) == 1 {
qosLimitsFound.Insert(string(name))
delta := quantity.Copy()
if _, exists := limits[name]; !exists {
limits[name] = *delta
@@ -82,7 +84,8 @@ func GetPodQOS(pod *api.Pod) QOSClass {
}
}
}
if len(limits) != len(supportedQoSComputeResources) {
if len(qosLimitsFound) != len(supportedQoSComputeResources) {
isGuaranteed = false
}
}