mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-12-03 23:03:53 +00:00
Return all predicate failures instead of the first one
This commit is contained in:
@@ -41,12 +41,17 @@ func PredicateResultToFrameworkStatus(reasons []predicates.PredicateFailureReaso
|
||||
return nil
|
||||
}
|
||||
|
||||
if r := predicates.UnresolvablePredicateExists(reasons); r != nil {
|
||||
return framework.NewStatus(framework.UnschedulableAndUnresolvable, r.GetReason())
|
||||
code := framework.Unschedulable
|
||||
if predicates.UnresolvablePredicateExists(reasons) {
|
||||
code = framework.UnschedulableAndUnresolvable
|
||||
}
|
||||
|
||||
// We will just use the first reason.
|
||||
return framework.NewStatus(framework.Unschedulable, reasons[0].GetReason())
|
||||
// We will keep all failure reasons.
|
||||
var failureReasons []string
|
||||
for _, reason := range reasons {
|
||||
failureReasons = append(failureReasons, reason.GetReason())
|
||||
}
|
||||
return framework.NewStatus(code, failureReasons...)
|
||||
}
|
||||
|
||||
// ErrorToFrameworkStatus converts an error to a framework status.
|
||||
|
||||
@@ -54,7 +54,7 @@ func TestPredicateResultToFrameworkStatus(t *testing.T) {
|
||||
{
|
||||
name: "Unschedulable and Unresolvable",
|
||||
reasons: []predicates.PredicateFailureReason{predicates.ErrDiskConflict, predicates.ErrNodeSelectorNotMatch},
|
||||
wantStatus: framework.NewStatus(framework.UnschedulableAndUnresolvable, "node(s) didn't match node selector"),
|
||||
wantStatus: framework.NewStatus(framework.UnschedulableAndUnresolvable, "node(s) had no available disk", "node(s) didn't match node selector"),
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
|
||||
Reference in New Issue
Block a user