From dd6e286a1aef4c7e52cf4979a7144c66bafa2cfe Mon Sep 17 00:00:00 2001 From: Alexander Constantinescu Date: Thu, 16 Nov 2023 15:54:15 +0100 Subject: [PATCH] TestSlowNodeSync: fix flake by allowing informer cache to get populated --- .../controllers/service/controller_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/staging/src/k8s.io/cloud-provider/controllers/service/controller_test.go b/staging/src/k8s.io/cloud-provider/controllers/service/controller_test.go index 95167142f9b..38a30cb4d22 100644 --- a/staging/src/k8s.io/cloud-provider/controllers/service/controller_test.go +++ b/staging/src/k8s.io/cloud-provider/controllers/service/controller_test.go @@ -37,6 +37,7 @@ import ( "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/intstr" "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/fake" @@ -1444,6 +1445,15 @@ func TestSlowNodeSync(t *testing.T) { t.Fatalf("error creating node3, err: %v", err) } + // Allow a bit of time for the informer cache to get populated with the new + // node + if err := wait.PollUntilContextCancel(wait.ContextForChannel(stopCh), 10*time.Millisecond, true, func(ctx context.Context) (done bool, err error) { + n3, _ := controller.nodeLister.Get("node3") + return n3 != nil, nil + }); err != nil { + t.Fatalf("informer cache was never populated with node3") + } + // Sync the service if err := controller.syncService(context.TODO(), key); err != nil { t.Fatalf("unexpected service sync error, err: %v", err)