Upgrading Red Hat Developer Hub

Red Hat Developer Hub 1.9

Upgrading a Red Hat Developer Hub instance to a later version by using either the Operator or Helm chart

Red Hat Customer Content Services

Abstract

You can upgrade a Red Hat Developer Hub (RHDH) instance to a later version from the OpenShift Container Platform web console using either the Operator or Helm chart.

Chapter 1. Upgrading the Red Hat Developer Hub Operator

If you use the Operator to deploy your Red Hat Developer Hub instance, then an administrator can use the OpenShift Container Platform web console to upgrade the Operator to a later version.

OpenShift Container Platform is currently supported from version 4.16 to 4.20. See also the Red Hat Developer Hub Life Cycle.

Prerequisites

Procedure

  1. In the Administrator perspective of the OpenShift Container Platform web console, click Operators > Installed Operators.
  2. On the Installed Operators page, click Red Hat Developer Hub Operator.
  3. On the Red Hat Developer Hub Operator page, click the Subscription tab.
  4. From the Upgrade status field on the Subscription details page, click Upgrade available.

    Note

    If there is no upgrade available, the Upgrade status field value is Up to date.

  5. On the InstallPlan details page, click Preview InstallPlan > Approve.
Important

If you are on the Orchestrator plugin 1.7, you must manually update the plugin configuration after approval to avoid a failed deployment. For more information, see Upgrading the Orchestrator plugin from 1.7 to 1.9.

Verification

  • The Upgrade status field value on the Subscription details page is Up to date.

Chapter 2. Upgrading the Red Hat Developer Hub Helm Chart

You can upgrade to a later version of Red Hat Developer Hub in OpenShift Container Platform by using either the web console or the CLI.

  • OpenShift Container Platform web console

    Warning

    If you have installed Developer Hub manually using the Helm CLI, the Helm chart release upgrade in the OpenShift Developer Console is going to fail. The failure is due to the limitations when using the OpenShift Container Platform console to upgrade a Helm release that was initially deployed using the Helm CLI. You can bypass this limitation by using the Helm CLI to upgrade. However, if you still want to upgrade using the console, select the Helm Chart version from the drop-down list and select the Developer Hub version you want to upgrade to. Before performing this step, save your values.yaml configuration file in a different location.

    Important

    You can upgrade Red Hat Developer Hub directly from any previous version to the latest release without installing intermediate versions. Before upgrading, you must review the release notes for every skipped version to identify breaking changes, deprecations, or required migration steps. For example, if upgrading from version 1.5 to 1.7, check the release notes for both 1.6 and 1.7.

    1. In the Developer perspective, click Helm to open the Helm Releases tab.
    2. Click the overflow menu on the Helm release that you want to use and select Upgrade.
    3. On the Upgrade Helm Release page, select the version of Developer Hub that you want to upgrade to from the chart version drop-down list.
    4. Click Upgrade.

      Note

      It might take a few minutes to delete the resources in the older versions and to start the newer versions of the Developer Hub pods.

    5. Close all open Developer Hub web pages, and log in again to verify that the upgrade was successful.
  • OpenShift Container Platform CLI

    1. Log in to the OpenShift Container Platform cluster as the cluster administrator and switch to the project or namespace in which Developer Hub was installed.

      $ oc login -u <user> -p <password> https://api.<HOSTNAME>:6443
      $ oc project my-rhdh-project
    2. For a new version of the Developer Hub Helm chart, run the following upgrade command:

      $ helm upgrade -i rhdh -f new-values.yml \
        openshift-helm-charts/redhat-developer-hub --version 1.9.3
      Note

      You can also provide extra values to the chart by creating a new-values.yml file on your workstation with values that override the attributes in the installed chart or by adding new attributes.

Chapter 3. Upgrade RHDH from 1.8 to 1.9 using the Helm chart

To upgrade the Red Hat Developer Hub RHDH Helm release to 1.9, if you use custom values.yaml files to override specific lists in the default configuration, you must manually update the files to include new mandatory defaults. Because Helm replaces entire lists during an override, custom values can remove required configurations for the Extensions Catalog Index feature. Failure to include these new volume mounts and environment variables prevents the application from initializing or discovering dynamic plugins.

Prerequisites

  • You have a running instance of Red Hat Developer Hub 1.8 deployed using the Helm chart.
  • Your custom values.yaml file overrides any of the following affected fields:

    • upstream.backstage.extraVolumeMounts
    • upstream.backstage.extraVolumes
    • upstream.backstage.initContainers

Procedure

  1. Manually merge the new default items into your values.yaml file to include the following highlighted items within their lists and avoid configuration loss:

    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
Tip

To view the full list of default values for 1.9, run the following command:

helm show values redhat-developer-hub --repo https://charts.openshift.io --version 1.9.3

Verification

  • Verify that the Red Hat Developer Hub application successfully initializes.

Legal Notice

Copyright © Red Hat.
Except as otherwise noted below, the text of and illustrations in this documentation are licensed by Red Hat under the Creative Commons Attribution–Share Alike 3.0 Unported license . If you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, the Red Hat logo, JBoss, Hibernate, and RHCE are trademarks or registered trademarks of Red Hat, LLC. or its subsidiaries in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS is a trademark or registered trademark of Hewlett Packard Enterprise Development LP or its subsidiaries in the United States and other countries.
The OpenStack® Word Mark and OpenStack logo are trademarks or registered trademarks of the Linux Foundation, used under license.
All other trademarks are the property of their respective owners.