Uploaded image for project: 'OpenShift API for Data Protection'
  1. OpenShift API for Data Protection
  2. OADP-6582

Implement VolumeGroupSnapshot (VGS) support in Velero

XMLWordPrintable

    • Product / Portfolio Work
    • 3
    • False
    • Hide

      None

      Show
      None
    • 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.

              spampatt@redhat.com Shubham Pampattiwar
              wnstb Wes Hayutin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: