Merge pull request #4940 from XiShanYongYe-Chang/remove-retain-annotations-logic

[Cleanup] remove retain annotations logic
This commit is contained in:
karmada-bot 2024-05-20 11:19:23 +08:00 committed by GitHub
commit b4011125ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 31 deletions

View File

@ -18,7 +18,6 @@ package native
import (
"fmt"
"strings"
appsv1 "k8s.io/api/apps/v1"
batchv1 "k8s.io/api/batch/v1"
@ -165,18 +164,6 @@ func retainWorkloadReplicas(desired, observed *unstructured.Unstructured) (*unst
func retainSecretServiceAccountToken(desired *unstructured.Unstructured, observed *unstructured.Unstructured) (retained *unstructured.Unstructured, err error) {
if secretType, exists, _ := unstructured.NestedString(desired.Object, "type"); exists && secretType == string(corev1.SecretTypeServiceAccountToken) {
// retain service-account.uid which is a unique per cluster
serviceAccountUIDPath := []string{"metadata", "annotations", corev1.ServiceAccountUIDKey}
uid, exist, err := unstructured.NestedString(observed.Object, serviceAccountUIDPath...)
if err != nil {
return nil, fmt.Errorf("failed to get %s from desired.Object: %+v", corev1.ServiceAccountUIDKey, err)
}
if exist {
if err := unstructured.SetNestedField(desired.Object, uid, serviceAccountUIDPath...); err != nil {
return nil, fmt.Errorf("failed to set %s for %s %s/%s", strings.Join(serviceAccountUIDPath, "."), desired.GetKind(), desired.GetNamespace(), desired.GetName())
}
}
// retain token generated by cluster kube-controller-manager
data, exist, err := unstructured.NestedStringMap(observed.Object, "data")
if err != nil {

View File

@ -111,13 +111,11 @@ func Test_retainK8sWorkloadReplicas(t *testing.T) {
}
func Test_retainSecretServiceAccountToken(t *testing.T) {
createSecret := func(secretType corev1.SecretType, uuid, key, value string) *unstructured.Unstructured {
createSecret := func(secretType corev1.SecretType, dataKey, dataValue string) *unstructured.Unstructured {
ret, _ := helper.ToUnstructured(&corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Annotations: map[string]string{corev1.ServiceAccountUIDKey: uuid},
},
Data: map[string][]byte{key: []byte(value)},
Type: secretType,
ObjectMeta: metav1.ObjectMeta{},
Data: map[string][]byte{dataKey: []byte(dataValue)},
Type: secretType,
})
return ret
}
@ -134,10 +132,10 @@ func Test_retainSecretServiceAccountToken(t *testing.T) {
{
name: "secret data and uid are retained for type service-account-token",
args: args{
desired: createSecret(corev1.SecretTypeServiceAccountToken, "111", corev1.ServiceAccountTokenKey, "desired-token"),
observed: createSecret(corev1.SecretTypeServiceAccountToken, "999", corev1.ServiceAccountTokenKey, "observed-token"),
desired: createSecret(corev1.SecretTypeServiceAccountToken, corev1.ServiceAccountTokenKey, "desired-token"),
observed: createSecret(corev1.SecretTypeServiceAccountToken, corev1.ServiceAccountTokenKey, "observed-token"),
},
want: createSecret(corev1.SecretTypeServiceAccountToken, "999", corev1.ServiceAccountTokenKey, "observed-token"),
want: createSecret(corev1.SecretTypeServiceAccountToken, corev1.ServiceAccountTokenKey, "observed-token"),
},
{
name: "ignores missing uid and data for type service-account-token",
@ -150,26 +148,26 @@ func Test_retainSecretServiceAccountToken(t *testing.T) {
{
name: "does not retain for type tls",
args: args{
desired: createSecret(corev1.SecretTypeTLS, "111", corev1.TLSCertKey, "desired-cert"),
observed: createSecret(corev1.SecretTypeTLS, "999", corev1.TLSCertKey, "observed-cert"),
desired: createSecret(corev1.SecretTypeTLS, corev1.TLSCertKey, "desired-cert"),
observed: createSecret(corev1.SecretTypeTLS, corev1.TLSCertKey, "observed-cert"),
},
want: createSecret(corev1.SecretTypeTLS, "111", corev1.TLSCertKey, "desired-cert"),
want: createSecret(corev1.SecretTypeTLS, corev1.TLSCertKey, "desired-cert"),
},
{
name: "does not retain for type basic-auth",
args: args{
desired: createSecret(corev1.SecretTypeBasicAuth, "111", corev1.BasicAuthUsernameKey, "desired-user"),
observed: createSecret(corev1.SecretTypeBasicAuth, "999", corev1.BasicAuthUsernameKey, "observed-user"),
desired: createSecret(corev1.SecretTypeBasicAuth, corev1.BasicAuthUsernameKey, "desired-user"),
observed: createSecret(corev1.SecretTypeBasicAuth, corev1.BasicAuthUsernameKey, "observed-user"),
},
want: createSecret(corev1.SecretTypeBasicAuth, "111", corev1.BasicAuthUsernameKey, "desired-user"),
want: createSecret(corev1.SecretTypeBasicAuth, corev1.BasicAuthUsernameKey, "desired-user"),
},
{
name: "does not retain for type dockercfg",
args: args{
desired: createSecret(corev1.SecretTypeDockercfg, "111", corev1.DockerConfigKey, "desired-docker-cfg"),
observed: createSecret(corev1.SecretTypeDockercfg, "999", corev1.DockerConfigKey, "observed-docker-cfg"),
desired: createSecret(corev1.SecretTypeDockercfg, corev1.DockerConfigKey, "desired-docker-cfg"),
observed: createSecret(corev1.SecretTypeDockercfg, corev1.DockerConfigKey, "observed-docker-cfg"),
},
want: createSecret(corev1.SecretTypeDockercfg, "111", corev1.DockerConfigKey, "desired-docker-cfg"),
want: createSecret(corev1.SecretTypeDockercfg, corev1.DockerConfigKey, "desired-docker-cfg"),
},
}
for _, tt := range tests {