[CNCF LFX Proposal] Velero CSI E2E Testing
- Dominant language
- JavaScript
- Stars
- 3.1k
- Forks
- 816
- Avg merge
- 12h 32m
- Merged PRs (30d)
- 8
Description
### CNCF Project
Velero
### Term
2026 Term 3 (Sep-Nov)
### Program Name
Add CSI Snapshot E2E Tests to Kind CI
### Program Description
## Description
Velero supports CSI volume snapshots for backing up and restoring persistent volumes, and e2e tests for this functionality already exist in the codebase, labeled with `Snapshot`, `CSISnapshot`, and `CSIDataMover` in the Ginkgo test suite. However, these tests never run in the project's Kind-based CI pipeline.
The Kind e2e workflow (`e2e-test-kind.yaml`) creates a cluster with MinIO for object storage but installs no CSI driver, no external-snapshotter, and no snapshot controller. The Ginkgo label matrix explicitly excludes all `Snapshot` and `CSI*` labels, so existing CSI tests are filtered out of every PR check and nightly run.
This means CSI snapshot regressions are only caught late, during manual testing against real cloud providers, rather than in automated CI on every PR.
The [kubernetes-csi/csi-driver-host-path](https://github.com/kubernetes-csi/csi-driver-host-path) project provides a lightweight CSI driver that supports VolumeSnapshots and VolumeGroupSnapshots on local storage, runs on single-node Kind clusters, and requires no cloud infrastructure. It is the approach recommended in the upstream tracking issue [#7507](https://github.com/velero-io/velero/issues/7507).
## Expected outcomes
By the end of the term, the mentee will have contributed the following to the Velero project:
- **CSI infrastructure in Kind CI** -- install external-snapshotter CRDs, snapshot controller, and csi-driver-host-path in the Kind e2e workflow, with a StorageClass and VolumeSnapshotClass configured for testing.
- **Existing CSI tests enabled and passing** -- add `Snapshot` and `CSI*` labels to the Kind CI Ginkgo label matrix, fix any test failures when running against csi-driver-host-path, and ensure tests in `test/e2e/basic/backup-volume-info/` pass reliably.
- **New VolumeGroupSnapshot (VGS) e2e test scenarios** -- add test coverage for VGS backup and restore using csi-driver-host-path's VolumeGroupSnapshot support.
- **CI workflow updated** -- the `e2e-test-kind.yaml` GitHub Actions workflow runs CSI snapshot tests as part of the standard PR check suite.
- **Documentation** describing the Kind CSI test setup, how to run CSI tests locally, and how to add new CSI test scenarios.
- **Blog post** on the Velero blog summarizing the work, the CSI e2e architecture, and lessons learned.
### Technologies
Go, Kubernetes, CSI, GitHub Actions
### Skills same as Technologies?
- [ ] Yes, the required skills are the same as the technologies listed above.
### Required/Desirable Skills
Go, Kubernetes, container storage concepts (PVC/PV/CSI/VolumeSnapshots), GitHub Actions CI, shell scripting
### Mentors
Shubham Pampattiwar | @shubham-pampattiwar | spampatt@redhat.com | spampatt
Tiger Kaovilai | @kaovilai | tkaovila@redhat.com | tig
### Upstream Issue URL
https://github.com/velero-io/velero/issues/7507
### Application Prerequisites
- [x] Resume
- [x] Cover Letter
- [ ] School Enrollment Verification
- [ ] Participation Permission from school or employer
- [ ] Coding Challenge
- [ ] Custom Prerequisite (fill in details below)
### Coding Challenge URL
_No response_
### Custom Prerequisite Name
_No response_
### Custom Prerequisite Description
_No response_
### Custom Prerequisite — File Upload
- [ ] Yes — completion of this task requires the mentee to submit a file.
---
**LFX program:** [CNCF - Velero: Add CSI Snapshot E2E Tests to Kind CI (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/b46bf26c-b458-45eb-b842-cbeccfc8b04a)
Contributor guide
Research direction
Start with the upstream tracking issue #7507, the `e2e-test-kind.yaml` workflow, and the existing CSI tests in `test/e2e/basic/backup-volume-info/`. Read how the Kind cluster and Ginkgo label matrix are currently configured, then investigate adding the CSI infrastructure and enabling those tests. Done means the CSI tests run reliably in Kind CI, with new VolumeGroupSnapshot scenarios and the requested documentation and blog post.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, go, kubernetes
- Domain
- ci-cd, testing-qa
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100