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

[Docs] Add instructions for upgrading Helm-based instance from 1.8 to 1.9

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: Major Major
    • 1.9.1
    • None
    • Documentation, Helm Chart
    • None
    • 3
    • False
    • Hide

      None

      Show
      None
    • False

      Followup to RHDHBUGS-2551 - slack thread.

      Since this is due to a Helm limitation that can't be fixed in the RHDH chart, it might make sense to have this also mentioned in the docs.

      Similar to RHIDP-12110 in 1.9.0 (where we added upgrade docs in https://docs.redhat.com/en/documentation/red_hat_developer_hub/1.8/html/orchestrator_in_red_hat_developer_hub/assembly-install-rhdh-orchestrator-operator#proc-upgrading-the-orchestrator-plugin_install-rhdh-orchestrator ), it might also make sense to provide similar steps when upgrading a Helm-based instance from 1.8 to 1.9.0

      Chapter Chapter 2. Upgrading the Red Hat Developer Hub Helm Chart might be a good place for this documentation.

      Suggested upgrade docs

      (Inspired by the "Release Notes Text" field content on RHDHBUGS-2551)

      = Upgrading RHDH from 1.8 to 1.9 using the Helm Chart
      
      When upgrading the {product} ({product-very-short}) Helm release to 1.9, users who utilize custom `values.yaml` files to override specific lists in the default configuration will need to manually update their files to include some new defaults.
      
      This requirement is due to a known Helm limitation where the tool does not perform a "deep merge" on list fields. Instead, if a list is defined in a custom values file, it completely replaces the corresponding list in the default values. If you have custom overrides for the fields listed below, they will inadvertently strip out the new mandatory configurations required for the *Extensions Catalog Index* feature introduced in {product-version}.
      
      Affected fields:
      
      * `upstream.backstage.extraVolumeMounts`
      * `upstream.backstage.extraVolumes`
      * `upstream.backstage.initContainers`
      
      Failure to include the new default volume mounts and environment variables in your custom `values.yaml` will result in the {product-very-short} application failing to initialize or failing to discover dynamic plugins correctly.
      
      If you override any of the affected fields, you must manually merge the {product-version} default items into your custom configuration. You can view the full list of default values for the current version by running the following command:
      
      [source,bash,subs="attributes"]
      ----
      helm show values redhat-developer-hub --repo https://charts.openshift.io --version 1.9.0
      ----
      
      Make sure your custom `values.yaml` includes the following highlighted items within their respective lists to avoid configuration loss:
      
      [source,yaml]
      ----
      upstream:
        backstage:
          extraVolumeMounts:
            # TODO: In addition to your custom mounts and the RHDH defaults, ensure this item is present (defined in the default RHDH chart):
            - name: extensions-catalog
              mountPath: /extensions
      
          extraVolumes:
            # TODO: In addition to your custom volumes and the RHDH defaults, ensure this item is present (defined in the default RHDH chart):
            - name: extensions-catalog
              emptyDir: {}
      
          initContainers:
            # TODO: Ensure the 'install-dynamic-plugins' container includes these environment variables and volume mounts:
            - name: install-dynamic-plugins
              env:
                # TODO: In addition to your custom env vars and the RHDH defaults for the install-dynamic-plugins init container,
                # ensure the following items are present (defined in the default RHDH chart):
                - name: CATALOG_INDEX_IMAGE
                  value: '{{ .Values.global.catalogIndex.image.registry }}/{{ .Values.global.catalogIndex.image.repository }}:{{ .Values.global.catalogIndex.image.tag }}'
                - name: CATALOG_ENTITIES_EXTRACT_DIR
                  value: '/extensions'
              volumeMounts:
                # TODO: In addition to your custom volume mounts and the RHDH defaults for the install-dynamic-plugins init container,
                # ensure the following item is present (defined in the default RHDH chart):
                - name: extensions-catalog
                  mountPath: /extensions
              ### ... other fields omitted for brevity
      ---- 
      

              rhn-support-jmagak Judith Amondi Magak
              rh-ee-asoro Armel Soro
              RHDH Documentation
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: