From c9f450b314898d341177ef70252fadb82861e1a5 Mon Sep 17 00:00:00 2001 From: Derek Nola Date: Wed, 8 Feb 2023 10:45:13 -0800 Subject: [PATCH] Ignore value conflicts when reencrypting secrets (#6918) * Ignore conflict secrets Signed-off-by: Derek Nola --- pkg/secretsencrypt/controller.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkg/secretsencrypt/controller.go b/pkg/secretsencrypt/controller.go index 621d64d964..9edd1bb38a 100644 --- a/pkg/secretsencrypt/controller.go +++ b/pkg/secretsencrypt/controller.go @@ -11,6 +11,7 @@ import ( coreclient "github.com/rancher/wrangler/pkg/generated/controllers/core/v1" "github.com/sirupsen/logrus" corev1 "k8s.io/api/core/v1" + apierrors "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -223,8 +224,8 @@ func (h *handler) updateSecrets(node *corev1.Node) error { i := 0 err = meta.EachListItem(secretsList, func(obj runtime.Object) error { if secret, ok := obj.(*corev1.Secret); ok { - if _, err := h.secrets.Update(secret); err != nil { - return fmt.Errorf("failed to reencrypted secret: %v", err) + if _, err := h.secrets.Update(secret); err != nil && !apierrors.IsConflict(err) { + return fmt.Errorf("failed to update secret: %v", err) } if i != 0 && i%10 == 0 { h.recorder.Eventf(nodeRef, corev1.EventTypeNormal, secretsProgressEvent, "reencrypted %d secrets", i)