mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-16 07:13:53 +00:00
test: fixes hot reload flake
Signed-off-by: Nilekh Chaudhari <1626598+nilekhc@users.noreply.github.com>
This commit is contained in:
parent
71a1565d06
commit
a92c1269e2
@ -394,9 +394,7 @@ resources:
|
||||
// start new KMS Plugin
|
||||
_ = mock.NewBase64Plugin(t, "@new-kms-provider.sock")
|
||||
// update encryption config
|
||||
if err := os.WriteFile(filepath.Join(test.configDir, encryptionConfigFileName), []byte(encryptionConfigWithNewProvider), 0644); err != nil {
|
||||
t.Fatalf("failed to update encryption config, err: %v", err)
|
||||
}
|
||||
updateFile(t, test.configDir, encryptionConfigFileName, []byte(encryptionConfigWithNewProvider))
|
||||
|
||||
wantPrefixForSecrets := "k8s:enc:kms:v1:new-kms-provider-for-secrets:"
|
||||
|
||||
@ -493,9 +491,7 @@ resources:
|
||||
`
|
||||
|
||||
// update encryption config and wait for hot reload
|
||||
if err := os.WriteFile(filepath.Join(test.configDir, encryptionConfigFileName), []byte(encryptionConfigWithoutOldProvider), 0644); err != nil {
|
||||
t.Fatalf("failed to update encryption config, err: %v", err)
|
||||
}
|
||||
updateFile(t, test.configDir, encryptionConfigFileName, []byte(encryptionConfigWithoutOldProvider))
|
||||
|
||||
// wait for config to be observed
|
||||
verifyIfKMSTransformersSwapped(t, wantPrefixForSecrets, test)
|
||||
@ -997,6 +993,29 @@ func verifyIfKMSTransformersSwapped(t *testing.T, wantPrefix string, test *trans
|
||||
}
|
||||
}
|
||||
|
||||
func updateFile(t *testing.T, configDir, filename string, newContent []byte) {
|
||||
t.Helper()
|
||||
|
||||
// Create a temporary file
|
||||
tempFile, err := os.CreateTemp(configDir, "tempfile")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer tempFile.Close()
|
||||
|
||||
// Write the new content to the temporary file
|
||||
_, err = tempFile.Write(newContent)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
// Atomically replace the original file with the temporary file
|
||||
err = os.Rename(tempFile.Name(), filepath.Join(configDir, filename))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestKMSHealthz(t *testing.T) {
|
||||
encryptionConfig := `
|
||||
kind: EncryptionConfiguration
|
||||
|
Loading…
Reference in New Issue
Block a user