openshift / openshift/oadp-operator
Add additional scenarios to the kubevirt-datamover e2e tests for incremental sequence
Open
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 92
- Forks
- 93
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 43
Description
Test 1: Normal backup sequence (full -> incremental)
- Backup 1 (
cirros-full-1): Completed as Full. No checkpoint chain in S3, controller correctly setexpected-backup-type: full. No mismatch. - Backup 2 (
cirros-incr-1): Completed as Incremental. S3 chain valid (length 1), controller setexpected-backup-type: incremental, VMB reportedIncremental. No mismatch.
Test 2: VM restart scenario
- Stopped and restarted the VM (
oc patch vm ... running:false/true) - Backup 3 (
cirros-mismatch-test): VM restart did not invalidate the libvirt checkpoint. VMB completed as Incremental. No mismatch triggered.
Test 3: Delete libvirt checkpoints via virsh
- Deleted all libvirt checkpoints from the virt-launcher pod:
oc exec -n cirros-test <virt-launcher-pod> -- virsh checkpoint-delete <domain> <checkpoint-name> - Confirmed checkpoints were gone (
virsh checkpoint-listreturned empty) - S3 index still had a valid chain (3 checkpoints), controller set
expected-backup-type: incremental - Backup 4 (
cirros-mismatch-test-2):maxIncrementalBackups: 2in DPA forced a full backup before the mismatch could occur. Controller set expected type tofulldue to max limit. No mismatch.
Test 4: Delete checkpoints with maxIncrementalBackups disabled
- Set
maxIncrementalBackups: 0(unlimited) in DPA - Deleted the new libvirt checkpoint created by backup 4
- S3 chain valid (chain length 1 after the forced full), controller allowed incremental, set
expected-backup-type: incremental - Backup 5 (
cirros-mismatch-test-3): VMB stuck on Initializing indefinitely. virt-controller repeatedly fails with:
It reenqueues the VMB every ~17 minutes but never falls back to a full backup. This is CNV-85377."Domain checkpoint not found: Checkpoint '...' for incremental backup of disk 'vda' not found"
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the existing kubevirt-datamover e2e tests and their backup-sequence scenarios. Run the VM restart and libvirt checkpoint deletion cases, then add coverage for the unlimited maxIncrementalBackups scenario and verify behavior against the reported CNV-85377 failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100