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 {