-
Task
-
Resolution: Unresolved
-
Major
-
None
-
None
-
3
-
False
-
-
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
----
- relates to
-
RHDHBUGS-2551 Known Issue: Helm Upgrade may require manual update of custom values files if overriding specific list fields
-
- Closed
-