Performing helm upgrades to DevOps Plan

You can upgrade DevOps Plan to the newest release using the helm upgrade command.

Before you begin

Before you perform the upgrade, you must first do the following:
  • Use Helm to install the DevOps Plan chart as described in Getting started with DevOps Plan Helm chart.
  • Note: When using DevOps Control, it is possible that a DevOps Control release includes an upgraded database schema. Performing a Helm rollback to an installation that includes a mismatch in database schema is not supported and the Helm rollback will fail. When using DevOps Control, it is recommended that you use backup and restore functionality with Velero. For more information, see Backup and Restore instructions for DevOps Plan. Performing Velero based rollback will lead to loss of newer data that is generated after upgrading.

About this task

Rolling upgrades utilize the helm upgrade command. For more information, see Helm Upgrade in the Helm documentation.

Procedure

  1. If you are using an external Keycloak, for example, one that is already deployed outside of the Helm chart, you must first disable the internal Keycloak service by either by updating the values.yaml file or use the --set flags during Helm installation.
    • Modify the values.yaml file:
      keycloaksrv:
        enabled: false
    • To update the default username and password using --set flags with Helm:
      --set keycloaksrv.enabled=false
  2. If you have already installed with the internal PostgreSQL database, and you plan to upgrade to the latest release version without deleting the PostgreSQL PVC, you must get the existing password before uninstalling or upgrading and set it during the helm upgrade --install.
    Get the password for the internal PostgreSQL database by running the following command when the namespace is set to devopsplan:
    export POSTGRES_PASSWORD=$(kubectl get secret --namespace devopsplan ibm-devopsplan-postgresql -o jsonpath="{.data.tenant-datastore-password}" | base64 -d)
  3. Set the password during the helm upgrade --install:
    --set postgresql.existingPassword=$POSTGRES_PASSWORD
  4. If you have already installed with the internal Keycloak, and you plan to upgrade to the latest release version without deleting the Keycloak PVC, you must get the existing password before uninstalling or upgrading and set it during the helm upgrade –-install.
    Get the password for the internal Keycloak by running this command when the namespace is set to devopsplan:
    export KEYCLOAK_PASSWORD=$(kubectl get secret --namespace devopsplan ibm-devopsplan-keycloak -o jsonpath="{.data.keycloak-password}" | base64 -d)
  5. Set the password during the helm upgrade --install:
    --set keycloak.existingPassword=$KEYCLOAK_PASSWORD