Deflake authz config reload test
This commit is contained in:
		| @@ -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) | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jordan Liggitt
					Jordan Liggitt