soda-cdm/kahu

Create Backup of all resources and then restore the backup of all backed up resources except pods(exclude single resource)

Opened this issue · 0 comments

Issue/Feature Description:
Test Case Precondition:

  1. Kahu project installed in given name-space (test-kahu)
  2. All below pods should be up and running:
    a. backup service
    b. Meta service with nfs provider
    c. nfs-server
  3. Metadata location is created already
  4. Namespace test-ns is created and contains some of the kubernetes resources
    Test Case steps:
  5. Create below backup CR using kubectl command
    (use kubectl create -f <backup.yaml>)
    apiVersion: kahu.io/v1
    kind: Backup
    metadata:
    name: backup-Kahu-0001
    spec:
    includeNamespaces: [test-ns]
    metadataLocation: nfs
  6. Use kubectl describe backup -n test-kahu
  7. Get inside nfs server pod and check for the content inside mount path given
    (use command kubectl exec -ti -n test-kahu /bin/sh)
  8. Create a restore CR on new namespace (restore-ns)
    apiVersion: kahu.io/v1
    kind: Restore
    metadata:
    name: restore-Kahu-0001
    Spec:
    backupName: backup-Kahu-0001
    excludeResources:
  • name:
    kind: Pod
    isRegex: true
    namespaceMapping:
    test-ns : restore-ns
    Expected Result:
  1. In step 2,
    a) Verify that backup stage is Finished and State is Completed
    b) Verify the resource list in status shows all the required resources
  2. In step 3, verify that
    a) tar file is created with name of backup
    b) After untar file, All resources in the namespace test-ns are backuped.
  3. In step4, verify that
    a) All resources except pods from the Back up resources are up in new namespace
    restore-ns
    Why this issue to fixed / feature is needed(give scenarios or use cases):
    This is a testcase which is to automated to make sure deployment is properly backed up and
    restored
    How to reproduce, in case of a bug:
    Other Notes / Environment Information: (Please give the env information, log link or any
    useful information for this issue)

@kalaiselvikks76