From 014be8444ac19475906b633c2b8d74ae4922149c Mon Sep 17 00:00:00 2001 From: Kante Yin Date: Fri, 17 Feb 2023 16:47:04 +0800 Subject: [PATCH 1/2] Make sure resoruces will be cleaned up when initializing error Signed-off-by: Kante Yin --- test/integration/scheduler/plugins/plugins_test.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/integration/scheduler/plugins/plugins_test.go b/test/integration/scheduler/plugins/plugins_test.go index 20c3bec480e..df7e4b5ae1c 100644 --- a/test/integration/scheduler/plugins/plugins_test.go +++ b/test/integration/scheduler/plugins/plugins_test.go @@ -2556,6 +2556,8 @@ func initTestSchedulerForFrameworkTest(t *testing.T, testCtx *testutils.TestCont if nodeCount > 0 { if _, err := createAndWaitForNodesInCache(testCtx, "test-node", st.MakeNode(), nodeCount); err != nil { + // Make sure to cleanup the resources when initializing error. + testutils.CleanupTest(t, testCtx) t.Fatal(err) } } From ad55d0cbc90dc61ca1e851300a8a85729a6bb601 Mon Sep 17 00:00:00 2001 From: Kante Yin Date: Fri, 17 Feb 2023 17:13:35 +0800 Subject: [PATCH 2/2] Use context instead when cleaning up Signed-off-by: Kante Yin --- test/integration/framework/test_server.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/test/integration/framework/test_server.go b/test/integration/framework/test_server.go index 405ffb9e0a9..1fea953a983 100644 --- a/test/integration/framework/test_server.go +++ b/test/integration/framework/test_server.go @@ -65,12 +65,12 @@ func StartTestServer(t testing.TB, setup TestServerSetup) (client.Interface, *re t.Fatalf("Couldn't create temp dir: %v", err) } - stopCh := make(chan struct{}) + ctx, cancel := context.WithCancel(context.Background()) var errCh chan error tearDownFn := func() { - // Closing stopCh is stopping apiserver and cleaning up + // Calling cancel function is stopping apiserver and cleaning up // after itself, including shutting down its storage layer. - close(stopCh) + cancel() // If the apiserver was started, let's wait for it to // shutdown clearly. @@ -173,7 +173,7 @@ func StartTestServer(t testing.TB, setup TestServerSetup) (client.Interface, *re errCh = make(chan error) go func() { defer close(errCh) - if err := kubeAPIServer.GenericAPIServer.PrepareRun().Run(stopCh); err != nil { + if err := kubeAPIServer.GenericAPIServer.PrepareRun().Run(ctx.Done()); err != nil { errCh <- err } }() @@ -203,15 +203,15 @@ func StartTestServer(t testing.TB, setup TestServerSetup) (client.Interface, *re } healthStatus := 0 - kubeClient.Discovery().RESTClient().Get().AbsPath("/healthz").Do(context.TODO()).StatusCode(&healthStatus) + kubeClient.Discovery().RESTClient().Get().AbsPath("/healthz").Do(ctx).StatusCode(&healthStatus) if healthStatus != http.StatusOK { return false, nil } - if _, err := kubeClient.CoreV1().Namespaces().Get(context.TODO(), "default", metav1.GetOptions{}); err != nil { + if _, err := kubeClient.CoreV1().Namespaces().Get(ctx, "default", metav1.GetOptions{}); err != nil { return false, nil } - if _, err := kubeClient.CoreV1().Namespaces().Get(context.TODO(), "kube-system", metav1.GetOptions{}); err != nil { + if _, err := kubeClient.CoreV1().Namespaces().Get(ctx, "kube-system", metav1.GetOptions{}); err != nil { return false, nil }