Merge pull request #117588 from kerthcet/cleanup/use-genericset

Avoid duplicated dots in pod status when preempting
This commit is contained in:
Kubernetes Prow Robot 2023-08-28 08:39:44 -07:00 committed by GitHub
commit 029d518970
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 11 deletions

View File

@ -97,8 +97,9 @@ func (pl *DefaultPreemption) PostFilter(ctx context.Context, state *framework.Cy
} }
result, status := pe.Preempt(ctx, pod, m) result, status := pe.Preempt(ctx, pod, m)
if status.Message() != "" { msg := status.Message()
return result, framework.NewStatus(status.Code(), "preemption: "+status.Message()) if len(msg) > 0 {
return result, framework.NewStatus(status.Code(), "preemption: "+msg)
} }
return result, status return result, status
} }

View File

@ -307,8 +307,6 @@ type FitError struct {
const ( const (
// NoNodeAvailableMsg is used to format message when no nodes available. // NoNodeAvailableMsg is used to format message when no nodes available.
NoNodeAvailableMsg = "0/%v nodes are available" NoNodeAvailableMsg = "0/%v nodes are available"
// SeparatorFormat is used to separate PreFilterMsg, FilterMsg and PostFilterMsg.
SeparatorFormat = " %v."
) )
// Error returns detailed information of why the pod failed to fit on each node. // Error returns detailed information of why the pod failed to fit on each node.
@ -319,7 +317,7 @@ func (f *FitError) Error() string {
if preFilterMsg != "" { if preFilterMsg != "" {
// PreFilter plugin returns unschedulable. // PreFilter plugin returns unschedulable.
// Add the messages from PreFilter plugins to reasonMsg. // Add the messages from PreFilter plugins to reasonMsg.
reasonMsg += fmt.Sprintf(SeparatorFormat, preFilterMsg) reasonMsg += fmt.Sprintf(" %v.", preFilterMsg)
} }
if preFilterMsg == "" { if preFilterMsg == "" {
@ -346,7 +344,7 @@ func (f *FitError) Error() string {
} }
sortedFilterMsg := sortReasonsHistogram() sortedFilterMsg := sortReasonsHistogram()
if len(sortedFilterMsg) != 0 { if len(sortedFilterMsg) != 0 {
reasonMsg += fmt.Sprintf(SeparatorFormat, strings.Join(sortedFilterMsg, ", ")) reasonMsg += fmt.Sprintf(" %v.", strings.Join(sortedFilterMsg, ", "))
} }
} }
@ -355,9 +353,8 @@ func (f *FitError) Error() string {
// since we may run PostFilter (if enabled) in both cases. // since we may run PostFilter (if enabled) in both cases.
postFilterMsg := f.Diagnosis.PostFilterMsg postFilterMsg := f.Diagnosis.PostFilterMsg
if postFilterMsg != "" { if postFilterMsg != "" {
reasonMsg += fmt.Sprintf(SeparatorFormat, postFilterMsg) reasonMsg += fmt.Sprintf(" %v", postFilterMsg)
} }
return reasonMsg return reasonMsg
} }

View File

@ -1415,7 +1415,7 @@ func TestFitError_Error(t *testing.T) {
// PostFilterMsg will be included. // PostFilterMsg will be included.
PostFilterMsg: "Error running PostFilter plugin FailedPostFilter", PostFilterMsg: "Error running PostFilter plugin FailedPostFilter",
}, },
wantReasonMsg: "0/3 nodes are available: Node(s) failed PreFilter plugin FalsePreFilter. Error running PostFilter plugin FailedPostFilter.", wantReasonMsg: "0/3 nodes are available: Node(s) failed PreFilter plugin FalsePreFilter. Error running PostFilter plugin FailedPostFilter",
}, },
{ {
name: "nodes failed one Filter plugin with an empty PostFilterMsg", name: "nodes failed one Filter plugin with an empty PostFilterMsg",
@ -1442,7 +1442,7 @@ func TestFitError_Error(t *testing.T) {
}, },
PostFilterMsg: "Error running PostFilter plugin FailedPostFilter", PostFilterMsg: "Error running PostFilter plugin FailedPostFilter",
}, },
wantReasonMsg: "0/3 nodes are available: 3 Node(s) failed Filter plugin FalseFilter-1. Error running PostFilter plugin FailedPostFilter.", wantReasonMsg: "0/3 nodes are available: 3 Node(s) failed Filter plugin FalseFilter-1. Error running PostFilter plugin FailedPostFilter",
}, },
{ {
name: "nodes failed two Filter plugins with an empty PostFilterMsg", name: "nodes failed two Filter plugins with an empty PostFilterMsg",
@ -1469,7 +1469,7 @@ func TestFitError_Error(t *testing.T) {
}, },
PostFilterMsg: "Error running PostFilter plugin FailedPostFilter", PostFilterMsg: "Error running PostFilter plugin FailedPostFilter",
}, },
wantReasonMsg: "0/3 nodes are available: 1 Node(s) failed Filter plugin FalseFilter-2, 2 Node(s) failed Filter plugin FalseFilter-1. Error running PostFilter plugin FailedPostFilter.", wantReasonMsg: "0/3 nodes are available: 1 Node(s) failed Filter plugin FalseFilter-2, 2 Node(s) failed Filter plugin FalseFilter-1. Error running PostFilter plugin FailedPostFilter",
}, },
{ {
name: "failed to Permit on node", name: "failed to Permit on node",