From a67d1dc01027bcda305ab3599543410ddd4dd121 Mon Sep 17 00:00:00 2001 From: kerthcet Date: Tue, 19 Mar 2024 22:52:07 +0100 Subject: [PATCH] Revert "Fix flaky test on multi profiles waiting pod" This reverts commit 5b072a59a295ca7fffc831377ea9060537c8ba0f. --- pkg/scheduler/scheduler_test.go | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/pkg/scheduler/scheduler_test.go b/pkg/scheduler/scheduler_test.go index b9e9a55a558..08f4b255338 100644 --- a/pkg/scheduler/scheduler_test.go +++ b/pkg/scheduler/scheduler_test.go @@ -31,7 +31,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/apimachinery/pkg/util/wait" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/client-go/informers" "k8s.io/client-go/kubernetes" @@ -995,7 +994,6 @@ func TestFrameworkHandler_IterateOverWaitingPods(t *testing.T) { fakeClient := fake.NewSimpleClientset(objs...) informerFactory := informers.NewSharedInformerFactory(fakeClient, 0) eventBroadcaster := events.NewBroadcaster(&events.EventSinkImpl{Interface: fakeClient.EventsV1()}) - defer eventBroadcaster.Shutdown() eventRecorder := eventBroadcaster.NewRecorder(scheme.Scheme, fakePermit) outOfTreeRegistry := frameworkruntime.Registry{ @@ -1003,8 +1001,7 @@ func TestFrameworkHandler_IterateOverWaitingPods(t *testing.T) { } _, ctx := ktesting.NewTestContext(t) - // timeout equals to the permit plugin waiting time. - ctx, cancel := context.WithTimeout(ctx, 100*time.Second) + ctx, cancel := context.WithCancel(ctx) defer cancel() scheduler, err := New( @@ -1052,23 +1049,17 @@ func TestFrameworkHandler_IterateOverWaitingPods(t *testing.T) { // Wait all pods in waitSchedulingPods to be scheduled. wg.Wait() - // When permit plugin emits the event, pod may not been added to the waitingPods pool yet, so we use pollUntil here. - if err := wait.PollUntilContextCancel(ctx, 100*time.Microsecond, true, func(context.Context) (done bool, err error) { - // Ensure that all waitingPods in scheduler can be obtained from any profiles. - for _, fwk := range scheduler.Profiles { - actualPodNamesInWaitingPods := sets.NewString() - fwk.IterateOverWaitingPods(func(pod framework.WaitingPod) { - actualPodNamesInWaitingPods.Insert(pod.GetPod().Name) - }) - // Validate the name of pods in waitingPods matches expectations. - if actualPodNamesInWaitingPods.Len() != len(tc.expectPodNamesInWaitingPods) || - !actualPodNamesInWaitingPods.HasAll(tc.expectPodNamesInWaitingPods...) { - return false, fmt.Errorf("Unexpected waitingPods in scheduler profile %s, expect: %#v, got: %#v", fwk.ProfileName(), tc.expectPodNamesInWaitingPods, actualPodNamesInWaitingPods.List()) - } + // Ensure that all waitingPods in scheduler can be obtained from any profiles. + for _, fwk := range scheduler.Profiles { + actualPodNamesInWaitingPods := sets.NewString() + fwk.IterateOverWaitingPods(func(pod framework.WaitingPod) { + actualPodNamesInWaitingPods.Insert(pod.GetPod().Name) + }) + // Validate the name of pods in waitingPods matches expectations. + if actualPodNamesInWaitingPods.Len() != len(tc.expectPodNamesInWaitingPods) || + !actualPodNamesInWaitingPods.HasAll(tc.expectPodNamesInWaitingPods...) { + t.Fatalf("Unexpected waitingPods in scheduler profile %s, expect: %#v, got: %#v", fwk.ProfileName(), tc.expectPodNamesInWaitingPods, actualPodNamesInWaitingPods.List()) } - return true, nil - }); err != nil { - t.Fatal("got unexpected result") } }) }