Uploaded image for project: 'Red Hat Internal Developer Platform'
  1. Red Hat Internal Developer Platform
  2. RHIDP-5573

[Helm] Dynamic plugins PVC Storage class and access mode are not configurable

Create Doc EPIC for Fe...Prepare for Y ReleasePrepare for Z ReleaseXMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 1.5.0
    • 1.3.0, 1.4.0, 1.4.1
    • Helm Chart
    • 2
    • False
    • Hide

      None

      Show
      None
    • False
    • Hide
      In the previous 1.4.2+ version of the {product-short} Helm Chart, it was possible to configure the storage class and access mode for the dynamic plugins Persistent Volume Claim (PVC) created by the Chart, using the `dynamicPlugins.cache.volumeClaimSpec` field in your Helm values file.
      In 1.5.0, we are reverting this and making the dynamic plugins root PVC ephemeral by default, because this was causing issues when upgrading the Helm Chart or when running multiple replicas of {product-short}. See https://issues.redhat.com/browse/RHIDP-5516 for more context.

      Note that it is still possible to change the ephemeral volume claim storage class and access modes by setting them in the `upstream.backstage.extraVolumes` field, like below.
      Also be aware that it is needed to repeat all the link:https://github.com/redhat-developer/rhdh-chart/blob/release-1.5/charts/backstage/values.yaml#L145-L181[other volumes] declared in the default {rhdh-chart} Chart.

      [source,yaml]
      ----
      upstream:
        backstage:
          extraVolumes:
            - name: dynamic-plugins-root
              ephemeral:
                volumeClaimTemplate:
                  spec:
                    accessModes:
                      # TODO: Change the access mode below
                      - ReadWriteOnce
                    resources:
                      requests:
                        storage: 5Gi
                    # TODO: Add your storage class below
                    storageClassName: "<my-custom-storage-class>"

            - name: dynamic-plugins
              configMap:
                defaultMode: 420
                name: '{{ printf "%s-dynamic-plugins" .Release.Name }}'
                optional: true

            - name: dynamic-plugins-npmrc
              secret:
                defaultMode: 420
                optional: true
                secretName: '{{ printf "%s-dynamic-plugins-npmrc" .Release.Name }}'

            - name: dynamic-plugins-registry-auth
              secret:
                defaultMode: 416
                optional: true
                secretName: '{{ printf "%s-dynamic-plugins-registry-auth" .Release.Name }}'

            - name: npmcacache
              emptyDir: {}

            - name: temp
              emptyDir: {}
      ----
      Show
      In the previous 1.4.2+ version of the {product-short} Helm Chart, it was possible to configure the storage class and access mode for the dynamic plugins Persistent Volume Claim (PVC) created by the Chart, using the `dynamicPlugins.cache.volumeClaimSpec` field in your Helm values file. In 1.5.0, we are reverting this and making the dynamic plugins root PVC ephemeral by default, because this was causing issues when upgrading the Helm Chart or when running multiple replicas of {product-short}. See https://issues.redhat.com/browse/RHIDP-5516 for more context. Note that it is still possible to change the ephemeral volume claim storage class and access modes by setting them in the `upstream.backstage.extraVolumes` field, like below. Also be aware that it is needed to repeat all the link: https://github.com/redhat-developer/rhdh-chart/blob/release-1.5/charts/backstage/values.yaml#L145-L181 [other volumes] declared in the default {rhdh-chart} Chart. [source,yaml] ---- upstream:   backstage:     extraVolumes:       - name: dynamic-plugins-root         ephemeral:           volumeClaimTemplate:             spec:               accessModes:                 # TODO: Change the access mode below                 - ReadWriteOnce               resources:                 requests:                   storage: 5Gi               # TODO: Add your storage class below               storageClassName: "<my-custom-storage-class>"       - name: dynamic-plugins         configMap:           defaultMode: 420           name: '{{ printf "%s-dynamic-plugins" .Release.Name }}'           optional: true       - name: dynamic-plugins-npmrc         secret:           defaultMode: 420           optional: true           secretName: '{{ printf "%s-dynamic-plugins-npmrc" .Release.Name }}'       - name: dynamic-plugins-registry-auth         secret:           defaultMode: 416           optional: true           secretName: '{{ printf "%s-dynamic-plugins-registry-auth" .Release.Name }}'       - name: npmcacache         emptyDir: {}       - name: temp         emptyDir: {} ----
    • Bug Fix
    • Proposed
    • RHDH Install 3268

      Description of problem:

      The storage class for the dynamic plugins PVC is not configurable, which can cause issues in clusters without a default storage class or in clusters where the default storage class cannot be used (for example due to user's standards).

      Prerequisites (if any, like setup, operators/versions):

      Steps to Reproduce

      1. Create a cluster without any default storage class
      2. Install the Helm Chart

      Actual results:

      RHDH Deployment will be stuck forever, waiting for the dynamic plugins PVC to be created

      Expected results:

      Make it possible for the user to specify the storage class they want to use.

      Reproducibility (Always/Intermittent/Only Once):

      Always

      Build Details:

      RHDH Chart for 1.3, 1.4

      Additional info (Such as Logs, Screenshots, etc):

              rh-ee-asoro Armel Soro
              rh-ee-asoro Armel Soro
              RHIDP - Install
              Votes:
              2 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: