-
Story
-
Resolution: Unresolved
-
Undefined
-
None
-
None
-
Product / Portfolio Work
-
3
-
False
-
-
False
-
ToDo
-
-
-
Very Likely
-
0
-
None
-
Unset
-
Unknown
-
None
VolumeGroupSnapshot Implementation Story
Based on Velero Issue: #8865
Parent Issue: #8447
Design Document: #8778
Problem Statement
This story implements VolumeGroupSnapshot (VGS) support in Velero to address the need for grouped volume snapshots that maintain data consistency across multiple PVCs.
Solution Overview
Implement VGS support by extending Velero's backup workflow to handle grouped snapshots using the Kubernetes VolumeGroupSnapshot API. Users will be able to group PVCs by specifying a label key, ensuring atomic snapshot operations for data consistency.
Major Implementation Tasks
The implementation involves three major components as outlined in the upstream issue:
1. Accept VGS Label from User
_ _Reference:* #8934
- Implement user interface to specify label keys for PVC grouping
- Validate label selection and grouping logic
- Handle user input for VGS configuration
2. Update Existing PVC ItemBlockAction Plugin
_ _Reference:* #8935
- Modify existing PVC plugins to support VGS workflows
- Ensure compatibility with current ItemBlockAction functionality
- Integrate VGS detection and handling logic
3. Updates to CSI PVC Plugin
_ _Reference:* #8936
- Enhance CSI PVC plugin for VGS object creation
- Implement VGS-specific snapshot operations
- Ensure proper integration with CSI drivers
Technical Requirements
Core Functionality
- Group PVCs using label-based selection
- Create VolumeGroupSnapshot objects during backup
- Ensure atomic snapshot operations across grouped volumes
- Maintain backwards compatibility with existing workflows
Integration Points
- Kubernetes VolumeGroupSnapshot API integration
- CSI driver compatibility requirements
- Plugin architecture enhancements
- RBAC permissions for VGS operations
Success Criteria
Functional Requirements
- Users can specify label keys for PVC grouping
- VGS objects are created successfully during backup
- Grouped snapshots maintain data consistency
- Restore operations work correctly with VGS backups
Non-Functional Requirements
- Backwards compatibility with existing Velero installations
- Performance optimization for grouped snapshot operations
- Proper error handling for incomplete groups
- Comprehensive test coverage
Testing Strategy
- Unit tests for VGS workflow components
- Integration tests with various CSI drivers
- End-to-end testing with real applications
- Performance benchmarking for grouped operations
- Backwards compatibility validation
Target Release
- Velero version: v1.17
- OADP version: 1.6.0
Dependencies
This story is a dependency of the VolumeGroupSnapshot Support Implementation epic and contributes to the overall VGS feature delivery.
- blocks
-
OADP-6581 VolumeGroupSnapshot Support Implementation
-
- In Progress
-