Upgrading Container-Based Systems

As a system administrator, you upgrade your existing Automation Engine system to the latest version.

The upgrade process consists of a Helm upgrade, which is a downtime upgrade by definition. However, as of version 24.3, that is for an upgrade from version 24.3 to a higher version, it is also possible to perform a Zero Downtime Upgrade for AAKE environments as described in this section. The install operator handles the Helm upgrade without any downtime.

This page includes the following:

Prerequisites

  1. Checking for Incompatibilities
  2. Preparing for the Container-Based System Upgrade

Upgrade Steps

Note: In this context, the terms upgrade and update are use interchangeably and refer to any changes that are triggered by calling helm upgrade.

The following steps guide you through the container-based system upgrade:

  1. If you have not done so already, download the AAKE offering, see Downloading the Container Offering.

    Note: If you do not want to download all the components included in the AAKE offering, you can choose to download the new version of the Helm Plugin and Helm Chart.

  2. If you have not done so already, if you want to manage and monitor the upgrade process with the Automic Automation Helm plugin, make sure you install or upgrade the Helm plugin first, see Automic Automation Helm Plugin.

    Note: The Automic Automation Help Plugin is an optional tool to monitor the process. These instructions provide information about another monitoring option further down.

  3. Using Helm, run the upgrade command to start the update process. Make sure you use the new version of the Helm Chart.

    Example

    helm upgrade aake automic-automation-<version>.tgz -f values.yml

    If you want to perform a Zero Downtime Upgrade, make sure you set the ZDU option in the values.yaml file:

    labels:
      features.aa-install-operator/upgrade-mode: zdu

    More information:

  4. In the operator section of the values.yaml file, specify whether the upgrade process should stop and wait until the database is fully backed up manually by specifying true or false in the pauseOnUpgrade parameter.

  5. You have two options to monitor the upgrade process:

    • If you are using the Automic Automation Helm plugin. Enter the following command in the command shell:

      helm automic-automation status

    • If you are NOT using the Automic Automation Helm plugin. Enter the following command in the command shell

      kubectl get baa automic-automation -o jsonpath="{$.status.stage}"

    The output shows the processes being stopped, prompts you to start the database backup (if you have configured the operator to do so) and then continue with the update.

    The instance is ready to use when the status is provisioned.

  6. Continue with the update. To do so, press Ctrl-C to exit and run the following command:

    helm automic-automation update --continue

    This starts a Kubernetes job that runs the DB load on the existing database, thus ensuring that the database is upgraded tot the relevant version. The job then starts all AE processes from the target version in the correct order.

Troubleshooting

Problem: When trying to upgrade your Automic Automation Kubernetes Edition instance to a higher version, HELM shows the message "FAILED: rendered manifests contain a new resource that already exists. Unable to continue with update: existing resource conflict: kind: Ingress, namespace: test, name: operator".

Solution: Upgrade your HELM version to version 3.6 or higher.

See also: