diff --git a/changelogs/unreleased/6770-ywk253100 b/changelogs/unreleased/6770-ywk253100 new file mode 100644 index 000000000..6e55ffcd4 --- /dev/null +++ b/changelogs/unreleased/6770-ywk253100 @@ -0,0 +1 @@ +Update restore controller logic for restore deletion \ No newline at end of file diff --git a/pkg/controller/restore_controller.go b/pkg/controller/restore_controller.go index 076baf85c..244aaf003 100644 --- a/pkg/controller/restore_controller.go +++ b/pkg/controller/restore_controller.go @@ -671,14 +671,13 @@ func (r *restoreReconciler) deleteExternalResources(restore *api.Restore) error backupInfo, err := r.fetchBackupInfo(restore.Spec.BackupName) if err != nil { + if apierrors.IsNotFound(err) { + r.logger.Errorf("got not found error: %v, skip deleting the restore files in object storage", err) + return nil + } return errors.Wrap(err, fmt.Sprintf("can't get backup info, backup: %s", restore.Spec.BackupName)) } - // if storage locations is read-only, skip deletion - if backupInfo.location.Spec.AccessMode == api.BackupStorageLocationAccessModeReadOnly { - return nil - } - // delete restore files in object storage pluginManager := r.newPluginManager(r.logger) defer pluginManager.CleanupClients()