From 5c0c378797c8cb579d9f36309ff4f82ea22ff16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wenkai=20Yin=28=E5=B0=B9=E6=96=87=E5=BC=80=29?= Date: Tue, 11 Apr 2023 17:42:02 +0800 Subject: [PATCH] Ignore not found error during patching managedFields MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ignore not found error during patching managedFields Signed-off-by: Wenkai Yin(尹文开) --- changelogs/CHANGELOG-1.11.md | 1 + pkg/restore/restore.go | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/changelogs/CHANGELOG-1.11.md b/changelogs/CHANGELOG-1.11.md index baa9599e3..3473c6c1e 100644 --- a/changelogs/CHANGELOG-1.11.md +++ b/changelogs/CHANGELOG-1.11.md @@ -62,6 +62,7 @@ To fix CVEs and keep pace with Golang, Velero made changes as follows: ### All Changes +* Ignore not found error during patching managedFields (#6110, @ywk253100) * Modify new scope resource filters name. (#6089, @blackpiglet) * Make Velero not exits when EnableCSI is on and CSI snapshot not installed (#6062, @blackpiglet) * Restore Services before Clusters (#6057, @ywk253100) diff --git a/pkg/restore/restore.go b/pkg/restore/restore.go index 7496122a9..e163c2e9a 100644 --- a/pkg/restore/restore.go +++ b/pkg/restore/restore.go @@ -1514,10 +1514,13 @@ func (ctx *restoreContext) restoreItem(obj *unstructured.Unstructured, groupReso if patchBytes != nil { if _, err = resourceClient.Patch(name, patchBytes); err != nil { ctx.log.Errorf("error patch for managed fields %s: %v", kube.NamespaceAndName(obj), err) - errs.Add(namespace, err) - return warnings, errs, itemExists + if !apierrors.IsNotFound(err) { + errs.Add(namespace, err) + return warnings, errs, itemExists + } + } else { + ctx.log.Infof("the managed fields for %s is patched", kube.NamespaceAndName(obj)) } - ctx.log.Infof("the managed fields for %s is patched", kube.NamespaceAndName(obj)) } if groupResource == kuberesource.Pods {