Skip to main content
Version: 2.1.1

Upgrade

This page documents how to upgrade to OBaaS version 2.1.1 from earlier versions.

Important

Before performing any upgrade, we recommend that you make a backup of your environment.

Upgrading from OBaaS 2.0.0

OBaaS supports an in-place upgrade from 2.0.0 to 2.1.1. If SigNoZ is enabled, this release's ClickHouse and SigNoZ transition requires special handling. Use the guarded two-stage procedure in Upgrade SigNoZ when historical telemetry must be protected.

The general process is as follows:

  • Get the new Helm charts for OBaaS 2.1.1
  • Review your configuration (values.yaml files)
  • Perform the prerequisite and application Helm upgrades. A protected SigNoZ upgrade uses two application Helm commands.

The following sections provide more detail.

Get the new Helm charts

If you installed a previous version (2.0.0 or later) you should already have the Helm repository configured. If you do not, you can configure it by running this command:

helm repo add obaas https://oracle.github.io/microservices-backend/helm

Then, pull the new charts from the Helm repository using this command:

helm repo update

To see a list of charts available in the repository, use this command:

helm search repo obaas

Note that the "APP VERSION" shown in the output is the version of OBaaS itself.

Review your configuration

Before upgrading, you should review your existing configuration. If you no longer have the values.yaml file that you used to install your environment, you can obtain the current configuration using this command (adjusted to match your chart name and namespace):

helm get all obaas-prereqs -n obaas-system
helm get all obaas -n obaas

You should carefully review your configuration and ensure your new values.yaml files (one for each chart) maintain your settings and customizations. In particular, check the following:

  • Make sure you have set enabled: true for all existing components that you wish to keep
  • Make sure that secret names are correct for your environment, especially secrets with database credentials
  • Make sure that any custom images or private registry configuration is maintained
  • Check the configuration for any new components introduced in the target release
  • Remove the configuration for any components which are no longer included in the target release

Perform the Helm upgrade

You can perform the prerequisite upgrade using a command similar to this. Ensure that you use the correct chart name and namespace and your customized values.yaml file:

helm upgrade --install obaas-prereqs -n obaas-system obaas/obaas-prereqs -f values.yaml [--debug]

If SigNoZ is disabled, perform the normal application-chart upgrade:

helm upgrade --install obaas -n obaas obaas/obaas -f values.yaml [--debug]

If SigNoZ is enabled, choose one of the procedures in Upgrade SigNoZ:

  • Use the guarded two-stage upgrade to back up and preserve historical data.
  • Use the single-command standard upgrade only when no protected recovery is required.

Upgrading from versions before OBaaS 2.0.0

OBaaS versions before 2.0.0 did not use Helm charts for installation.

In-place upgrades are not supported when the existing release is pre-2.0.0. You must use an out-of-place upgrade to upgrade from a release before 2.0.0 to 2.0.0 or a later release.

Out-of-place upgrade

To perform an out-of-place upgrade, you must install a new OBaaS environment at the target version, with your desired configuration and customizations, and then migrate your data and applications to the new environment.

The following data should be considered for migration:

  • TODO
  • database secrets, including bindings
  • config data from properties table
  • dashboard customizations
  • custom resource definitions, e.g., coherence or kafka cluster definitions

Note that upgrading will in most cases mean moving to a newer version of each component. As we update components to keep up with the latest versions, and to manage security vulnerabilities, sometimes an incompatible ("breaking") API change will be required. If you are upgrading to a new release, you may need to upgrade you application code or configuration to adjust to these changes.