Convert hack/e2e-apps/backup.bats.disabled to a Chainsaw test under hack/e2e-chainsaw/backup/. It stays opt-in: the chainsaw-test.yaml.disabled filename keeps it out of chainsaw's default discovery and out of hack/select-e2e.sh enumeration, matching the previous disabled state. The declarative readiness chain (Bucket -> VirtualMachine -> BackupJob) becomes assert operations; the imperative Velero-backup + S3 verification stays a single script step, mirroring the bucket suite. README documents the opt-in run command and the backup-infra preconditions. Assisted-By: Claude <noreply@anthropic.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
1.5 KiB
Backup E2E (disabled / opt-in)
chainsaw-test.yaml.disabled is a Chainsaw port of the former hack/e2e-apps/backup.bats.disabled. It boots a VirtualMachine, drives a BackupJob through the default Velero strategy, and verifies the resulting Velero backup landed in S3.
It is not part of the automated suite — the .disabled suffix keeps it out of chainsaw's default chainsaw-test.yaml discovery, and hack/select-e2e.sh does not enumerate it as a selectable suite. This preserves the previous backup.bats.disabled behavior: the test is heavy (a full VM plus a Velero backup and S3 round-trip) and depends on backup infrastructure the standard e2e sandbox install does not guarantee.
Preconditions
Run it only against a cozystack cluster that has backups enabled, i.e. with the backup-controller, backupstrategy-controller, and Velero installed, and a velero-strategy-default Velero strategy present (the install provides it). The test uses the tenant-test namespace, as configured in hack/e2e-chainsaw/.chainsaw.yaml.
Running
chainsaw test --test-file chainsaw-test.yaml.disabled hack/e2e-chainsaw/backup
To enable it permanently, rename it to chainsaw-test.yaml — it then joins the full suite and becomes selectable by Test Impact Analysis.
Cleanup
Chainsaw deletes the Bucket / VirtualMachine / BackupJob it applied. The Velero Backup, BackupStorageLocation, and credentials secret in the cozy-velero namespace are created by the backup-controller (not chainsaw), so prune them by hand after an opt-in run.