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

CloudStorage: Cannot Restore CSI backups in different AWS region

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • ToDo
    • 0
    • 0
    • Very Likely
    • 0
    • None
    • Unset
    • Unknown
    • No

      Description of problem: 

      Currently Restic and DataMover backups are not supported with cloudStorage(STS). CSI and VSL snapshots can be restored in the same region but it fails to restore it on other cluster deployed in different region. There is a way to copy the snapshot from one region to another. We have tested this way yesterday, snapshot ID gets changed for the target region. As a result the snapshots are portable but it cannot be consumed by velero directly. 

      Slack discussion:- 
      https://redhat-internal.slack.com/archives/C0144ECKUJ0/p1689000930589729

       

      Version-Release number of selected component (if applicable):
      OADP 1.2.0 
      ROSA STS

       

      How reproducible:
      Always 

       

      Steps to Reproduce:

      1. Deployed two AWS clusters (one in us-east-1 and other one in us-east-2 region)
      2. Created DPA Resource.

      apiVersion: oadp.openshift.io/v1alpha1
      kind: DataProtectionApplication
      metadata:
        namespace: openshift-adp
        name: ts-dpa
      spec:
        backupLocations:
        - velero:
            config:
              profile: default
              region: us-east-2
            credential:
              key: cloud
              name: cloud-credentials
            default: true
            objectStorage:
              bucket: oadpbucket216078
              prefix: veleo
            provider: aws
        configuration:
          velero:
            defaultPlugins:
            - openshift
            - aws
            - csi 

       

      3. Deployed stateful application and executed CSI backup.

      $ appm deploy ocp-django
      $ oc create -f backup.yaml

       

      4. Retrieved the snapshotHandle from the VSC resource

      oc get vsc snapcontent-b8414815-7e9f-4bdf-b85a-87c619952a1b -o jsonpath={.status.snapshotHandle}
      snap-0322c9efe4a13f088 

      5. Copied snapshot from one region to another. 

      aws ec2 copy-snapshot     --region us-east-1      --source-region us-east-2     --source-snapshot-id snap-0322c9efe4a13f088     --description "This is my copied snapshot." 

       

       

      Actual results:

      Application doesn't come up online in target cluster due to missing snapshot. 

      $ oc get vs -n ocp-django -o yaml
      message: 'Failed to check and update snapshot content: failed to list snapshot for content velero-velero-postgresql-hxq24-t59mx: "rpc error: code = Internal desc = Could not get snapshot ID \"snap-0322c9efe4a13f088\": InvalidSnapshot.NotFound: The snapshot ''snap-0322c9efe4a13f088'' does not exist.\n\tstatus code: 400, request id: e2546c4e-f375-49d9-872c-7eb417c94d25"'
            time: "2023-07-11T07:02:42Z" 

      Expected results:
      Application pod should be running after restore.

      Additional info:

              rhn-support-sbeskin Sasha Beskin
              rhn-support-prajoshi Prasad Joshi
              Prasad Joshi Prasad Joshi
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: