You can upgrade DevOps Plan to
the newest release using the helm upgrade command.
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: OpenSearch was upgraded from 2.18.0 to the 3.1.0 during the
.
DevOps Plan version 3.0.5
release. OpenSearch 2.18.0 is based on Lucene 9. OpenSearch 3.1.0 is based on Lucene 10.
This update constitutes a major version change, therefore, in-place rolling
upgrades are not supported. To complete the upgrade, either a full cluster restart or
a migration involving reindexing is required. For more inforation about rolling
upgrades with OpenSearch, see the OpenSearch documentation.
-
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.
Rolling upgrades utilize the helm upgrade command. For more information,
see Helm
Upgrade in the Helm documentation.
-
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.
-
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)
-
Set the password during the helm upgrade
--install:
--set postgresql.existingPassword=$POSTGRES_PASSWORD
-
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)
-
Set the password during the helm upgrade
--install:
--set keycloak.existingPassword=$KEYCLOAK_PASSWORD