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

Setting an excludedNamespace and includedNamespace in the same backup crashes velero

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • False
    • oadp-velero-container-1.1.1-8
    • Passed
    • No
    • 0
    • 0
    • Very Likely
    • 0
    • None
    • Unset
    • Unknown

      Description of problem:

      Creating a backup.velero.io/v1 object with both an excludedNamespaces and includedNamespaces array causes the associated velero pod to crash:

      Example object:

      apiVersion: velero.io/v1
      kind: Backup
      metadata:
        name: test-backup-included-and-excludednamespaces-wildcard
        labels:
          velero.io/storage-location: default
        namespace: openshift-adp
      spec:
        hooks: {}
        excludedNamespaces:
        - openshift-*
        includedNamespaces:
        - openshift-config
        includeClusterResources: true
        storageLocation: my-dpa-1
        ttl: 720h0m0s 

      The resulting logs of the velero pod have been attached as velero-c579c5b9d-f6nmm_crash.log
       

      After crashing, it appears the backup is never actually performed, as the status.phase remains InProgress indefinitely, and no new backups appear in the configured location:

      apiVersion: velero.io/v1
      kind: Backup
      metadata:
        annotations:
          velero.io/source-cluster-k8s-gitversion: v1.24.0+9546431
          velero.io/source-cluster-k8s-major-version: "1"
          velero.io/source-cluster-k8s-minor-version: "24"
        creationTimestamp: "2022-08-16T19:38:50Z"
        generation: 2
        labels:
          velero.io/storage-location: my-dpa-1
        name: test-backup-included-and-excludednamespaces-wildcard
        namespace: openshift-adp
        resourceVersion: "918723"
        uid: 3adb65ac-fc31-4c46-9a4d-37f88c805a13
      spec:
        defaultVolumesToRestic: false
        excludedNamespaces:
        - openshift-*
        hooks: {}
        includeClusterResources: true
        includedNamespaces:
        - openshift-config
        storageLocation: my-dpa-1
        ttl: 720h0m0s
      status:
        expiration: "2022-09-15T19:38:50Z"
        formatVersion: 1.1.0
        phase: InProgress
        startTimestamp: "2022-08-16T19:38:50Z"
        version: 1 

       

      Version-Release number of selected component (if applicable):
      Operator version:

      [tnierman@tnierman] >> oc get csv -n openshift-adp
      NAME                                      DISPLAY                  VERSION           REPLACES                                  PHASE
      oadp-operator.v1.0.3                      OADP Operator            1.0.3                                                       Succeeded
      

      Cluster version 4.11

      How reproducible:
      Always

      Steps to Reproduce:
      1. Create a backup object like the one given above

      Actual results:

      Velero pod will crash, backup(s) will never commence

      Expected results:
      1. Velero pod does not crash.
      2. Backup CRD's status field reflects the error, if this is deemed to be an invalid configuration, or the backup process commences and the excludedNamespaces field is just ignored
      3. The backup process is restarted/retried/continued when the velero operator restarts.

            sseago Scott Seago
            tnierman.openshift Trevor Nierman
            Shahaf Bahar Shahaf Bahar
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: