Merge pull request #124111 from liggitt/deflake-authz-test

Deflake authz config reload test
This commit is contained in:
Kubernetes Prow Robot 2024-03-29 08:53:43 -07:00 committed by GitHub
commit 3dedb8eb8c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -56,7 +56,7 @@ func TestAuthzConfig(t *testing.T) {
dir := t.TempDir() dir := t.TempDir()
configFileName := filepath.Join(dir, "config.yaml") configFileName := filepath.Join(dir, "config.yaml")
if err := os.WriteFile(configFileName, []byte(` if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1alpha1 apiVersion: apiserver.config.k8s.io/v1alpha1
kind: AuthorizationConfiguration kind: AuthorizationConfiguration
authorizers: authorizers:
@ -362,7 +362,7 @@ users:
} }
configFileName := filepath.Join(dir, "config.yaml") configFileName := filepath.Join(dir, "config.yaml")
if err := os.WriteFile(configFileName, []byte(` if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1alpha1 apiVersion: apiserver.config.k8s.io/v1alpha1
kind: AuthorizationConfiguration kind: AuthorizationConfiguration
authorizers: authorizers:
@ -583,7 +583,7 @@ authorizers:
} }
// write bogus file // write bogus file
if err := os.WriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil { if err := atomicWriteFile(configFileName, []byte(`apiVersion: apiserver.config.k8s.io`), os.FileMode(0644)); err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -635,7 +635,7 @@ authorizers:
} }
// write good config with different webhook // write good config with different webhook
if err := os.WriteFile(configFileName, []byte(` if err := atomicWriteFile(configFileName, []byte(`
apiVersion: apiserver.config.k8s.io/v1beta1 apiVersion: apiserver.config.k8s.io/v1beta1
kind: AuthorizationConfiguration kind: AuthorizationConfiguration
authorizers: authorizers:
@ -890,3 +890,11 @@ func getMetrics(t *testing.T, client *clientset.Clientset) (*metrics, error) {
} }
return &m, nil return &m, nil
} }
func atomicWriteFile(name string, data []byte, perm os.FileMode) error {
tmp := name + ".tmp"
if err := os.WriteFile(tmp, data, perm); err != nil {
return err
}
return os.Rename(tmp, name)
}