Skip to content

Add OADP e2e test coverage for kubevirt-datamover #99

Description

@shubham-pampattiwar

Problem

The kubevirt-datamover has limited e2e coverage in the OADP operator e2e suite. Before GA, we need comprehensive tests covering multiple cloud providers, VM configurations, and backup/restore scenarios.

Implementation lives in the oadp-operator repo. This issue tracks the requirement from the KDM side.

Current Coverage (oadp-operator)

The existing virt_backup_restore_suite_test.go covers (AWS/S3 only):

  • CSI datamover backup/restore — CirrOS VM (WFFC + Immediate binding)
  • CSI backup/restore — CirrOS VM (WFFC + Immediate binding)
  • Powered-off VM backup/restore (CSI + CSI datamover)
  • KDM CBT backup — CirrOS VM with VirtualMachineBackupTracker verification
  • Fedora todolist — present but disabled (PEntry, not running in CI)

Gaps

Cloud Providers

VM Configurations

  • Multi-PVC VM (multiple data volumes attached)
  • Fedora / RHEL guest OS with CBT (currently commented out)

Backup Scenarios

  • Incremental backup chain (second backup after first, verify CBT delta)
  • Multiple incremental backups in a chain
  • Backup after checkpoint chain break (fallback to full)
  • Backup cancel

Restore Scenarios

  • Restore from KDM CBT backup (currently only backup is tested)
  • Restore from incremental backup
  • Restore to different namespace

Error / Edge Cases

  • Invalid BSL credentials
  • VM with no guest agent (skip quiesce)
  • Concurrent backups of multiple VMs

Acceptance criteria

  • e2e tests pass on AWS and at least one S3-compatible backend (MinIO) in CI
  • GCP and Azure e2e tests pass once object store support lands
  • Tests cover both single-disk and multi-PVC VMs
  • Incremental backup chain and restore are tested end-to-end

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions