Surface info of failed plugins during PerFilter and Filter

This commit is contained in:
Wei Huang
2021-01-13 16:39:55 -08:00
parent 99fc71b37a
commit f8a6bdb044
12 changed files with 290 additions and 168 deletions

View File

@@ -636,11 +636,11 @@ func TestSchedulerNoPhantomPodAfterDelete(t *testing.T) {
expectErr := &framework.FitError{
Pod: secondPod,
NumAllNodes: 1,
FilteredNodesStatuses: framework.NodeToStatusMap{
node.Name: framework.NewStatus(
framework.Unschedulable,
nodeports.ErrReason,
),
Diagnosis: framework.Diagnosis{
NodeToStatusMap: framework.NodeToStatusMap{
node.Name: framework.NewStatus(framework.Unschedulable, nodeports.ErrReason).WithFailedPlugin(nodeports.Name),
},
UnschedulablePlugins: sets.NewString(nodeports.Name),
},
}
if !reflect.DeepEqual(expectErr, err) {
@@ -761,7 +761,7 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
framework.Unschedulable,
fmt.Sprintf("Insufficient %v", v1.ResourceCPU),
fmt.Sprintf("Insufficient %v", v1.ResourceMemory),
)
).WithFailedPlugin(noderesources.FitName)
}
fns := []st.RegisterPluginFunc{
st.RegisterQueueSortPlugin(queuesort.Name, queuesort.New),
@@ -778,9 +778,12 @@ func TestSchedulerFailedSchedulingReasons(t *testing.T) {
select {
case err := <-errChan:
expectErr := &framework.FitError{
Pod: podWithTooBigResourceRequests,
NumAllNodes: len(nodes),
FilteredNodesStatuses: failedNodeStatues,
Pod: podWithTooBigResourceRequests,
NumAllNodes: len(nodes),
Diagnosis: framework.Diagnosis{
NodeToStatusMap: failedNodeStatues,
UnschedulablePlugins: sets.NewString(noderesources.FitName),
},
}
if len(fmt.Sprint(expectErr)) > 150 {
t.Errorf("message is too spammy ! %v ", len(fmt.Sprint(expectErr)))