From 51c26b7002af3cb9be05a7e3c82ddfb6d617e4fc Mon Sep 17 00:00:00 2001 From: Anish Ramasekar Date: Sun, 10 Mar 2024 22:05:08 -0700 Subject: [PATCH] fix test flake in TestStructuredAuthenticationConfigReload Signed-off-by: Anish Ramasekar --- test/integration/apiserver/oidc/oidc_test.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test/integration/apiserver/oidc/oidc_test.go b/test/integration/apiserver/oidc/oidc_test.go index f26858d77f8..1b8d4ef8599 100644 --- a/test/integration/apiserver/oidc/oidc_test.go +++ b/test/integration/apiserver/oidc/oidc_test.go @@ -1332,7 +1332,19 @@ jwt: _, err = client.CoreV1().Pods(defaultNamespace).List(ctx, metav1.ListOptions{}) tt.assertErrFn(t, err) - err = os.WriteFile(apiServer.ServerOpts.Authentication.AuthenticationConfigFile, []byte(tt.newAuthConfigFn(t, oidcServer.URL(), string(caCert))), 0600) + // Create a temporary file + tempFile, err := os.CreateTemp("", "tempfile") + require.NoError(t, err) + defer func() { + _ = tempFile.Close() + }() + + // Write the new content to the temporary file + _, err = tempFile.Write([]byte(tt.newAuthConfigFn(t, oidcServer.URL(), string(caCert)))) + require.NoError(t, err) + + // Atomically replace the original file with the temporary file + err = os.Rename(tempFile.Name(), apiServer.ServerOpts.Authentication.AuthenticationConfigFile) require.NoError(t, err) if tt.waitAfterConfigSwap {