Files
velero/pkg/backup
Prasad JoshiandGitHub b60fb22929
Run the E2E test on kind / setup-test-matrix (push) Failing after 5s
e2e-test-kind.yaml / extract (push) Failing after 10s
Run the E2E test on kind / get-go-version (push) Failing after 12s
Run the E2E test on kind / build (push) Skipped
Run the E2E test on kind / run-e2e-test (push) Skipped
push.yml / extract (push) Failing after 7s
Main CI / get-go-version (push) Failing after 8s
Main CI / Build (push) Skipped
Scorecard supply-chain security / Scorecard analysis (push) Skipped
fix: defer VGS cleanup until backup finalization (#10612)
* fix: defer VGS cleanup until backup finalization

The CSI PVC backup action deleted the VolumeGroupSnapshot and bound
VolumeGroupSnapshotContent after creating and waiting for all group
member VolumeSnapshots. At that point, Velero had not necessarily
completed processing the member VolumeSnapshots, CSI async operations,
or archive finalization.

Deleting the VGS triggered external-snapshotter member cleanup and could
remove VolumeSnapshot API objects still referenced by the Backup
workflow.

Remove immediate VGS/VGSC deletion from getVolumeSnapshotReference and
retain the group until the Backup reaches a terminal phase. Continue
processing VGS member VolumeSnapshots through the existing normal CSI
finalization path.

Add the velero.io/volume-group-snapshot-cleanup Backup finalizer before
VGS creation. Label VGSC resources with the Backup name and UID, enforce
DeletionPolicy=Retain before cleanup, and delete VGS/VGSC resources from
terminal Backup reconciliation only.

Make cleanup idempotent and retryable, including recovery of labeled
orphan VGSC resources. Remove the Backup finalizer only after VGS/VGSC
cleanup verification succeeds. Block Backup deletion while cleanup is
pending.

Add unit and controller integration tests covering finalizer
registration, VGS creation, terminal cleanup, failed-Backup cleanup,
orphan VGSC cleanup, and finalizer removal.

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* add changelog

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Adress review feedback

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* remove stale VGS finalizer during snapshot restore

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Improve codecoverage

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* explain VGS member snapshot cleanup timing

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Second pass at review comment

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Third pass at review comment

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Dont swallow get errors

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

* Patch backup CR only when annotation is missing

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>

---------

Signed-off-by: Prasad Joshi <prajoshi@redhat.com>
2026-10-01 12:57:32 -04:00
..
2026-09-18 16:51:00 +08:00
2024-12-03 15:23:45 -05:00
2026-09-18 16:51:00 +08:00