Update Procedure

This article explains how to update Exasol 8 software in a cloud deployment.

This procedure is carried out using Exasol Deployment Tool (c4).

Overview

The c4 update command is used to perform update actions on various objects and components. This section explains how to update a deployment to a new Exasol version using c4 update cluster.

During the update procedure, c4 also updates the cloud stack template. For more information, see Cloud Stack Update.

For details about all options for the update command, use c4 update --help.

Read the information on Update Considerations carefully before you start the update.

Prerequisites

  • The deployment to be updated must be running Exasol version 8.21.0 or newer.

  • All nodes in the deployment must be online.

  • The database must be stopped. For more information, see Stop a Database.

  • If the system performing the update has no internet access, a copy of the installation package for the new Exasol version must exist on the system.

  • The user or role executing the update must have the necessary privileges to connect to the cluster through SSH.

  • The system running the update must have rsync, ssh, and either wget or curl installed.

  • The user or role executing the update must have the necessary privileges on AWS to update the cloud stack template. See also Cloud Stack Update.

Update

The database must be stopped. For more information, see Stop a Database.

To update the Exasol software in a deployment, use the c4 update cluster command.

./c4 update cluster [-P|-p PLAY_ID] -t TARGET
Option Description
-P Updates all clusters in the current deployment (where the update command was started).
-p PLAY_ID

Updates all clusters in the deployment identified by PLAY_ID.

-t The Exasol package to use as the update target (the version to update to).

For example, to update the Exasol software running in the deployment with play ID 4182d94d to version 8.23.4, using the config file config and the downloaded update package file exasol-8.23.4.tar.gz, run the following command:

./c4 update cluster -p 4182d94d -t @exasol-8.23.4

Cloud Stack Update

During the update procedure, c4 also updates the cloud stack template. This step is mandatory and cannot be omitted. To update the cloud stack, c4 requires appropriate AWS privileges, which are not included by default in the instance roles of the deployment. There are two possible options to enable the cloud stack template update step to run with the appropriate permissions:

  • If the update procedure is being executed from outside the deployment, ensure that the user performing the update has sufficient AWS privileges. This is the preferred method.
  • If the update procedure is being executed from within the deployment, ensure that either the entire update procedure accesses AWS with a special role/IAM user, or explicitly execute the template update outside of the deployment, using an AWS role/IAM user with sufficient privileges.

If the update must be initiated from within the cluster, split the update procedure into two parts as follows:

  1. Update the template but do not perform the rest of the update procedure. This step runs inside the cluster.

    ./c4 update template -p PLAY_ID -t TARGET
  2. Run the update procedure without updating the cloud stack template. This step runs outside of the cluster.

    c4 update --template false cluster -p PLAY_ID -t TARGET

Usage Notes

  • The update procedure communicates with the clusters using c4 connect. This means that the user or role that starts the update must have access to the remote system as a privileged user through SSH.

  • The update command requires Exasol 8.21.0 or later. If the version running in the deployment is older than 8.21.0, the update procedure will fail silently (without an error message). To update from versions prior to 8.21.0, you must use the same procedure as when migrating from a 7.1 database to Exasol 8. For more information, see Migrate from Exasol 7.1 to Exasol 8.

Examples

Verification

Update log

The update log provides information about the update procedure. The update log is located in /var/log/ccc/update.log.

Update log example:

user@host:~./c4 connect -t1/host
ubuntu@ip-192-168-0-96:~$ tail /var/log/ccc/update.log
[2023-10-27 13:01:56] Doing offline update...
[2023-10-27 13:01:59] Switched to the new version: branchr-saas-22da2bac-64r (@exasol-8.23.4)
[2023-10-27 13:01:59] Starting up...
[2023-10-27 13:01:59] Waiting for exainit is finished
[2023-10-27 13:02:00] Checking /home/ubuntu/.ccc/play/local/4182d94d-f328-42c1-8aac-49c29a8776bf/main/10/data/etc/init_done
[2023-10-27 13:03:00] Done: exainit is finished successfully
[2023-10-27 13:03:00] SUCCESS: Update was successful.
[2023-10-27 13:03:00] SUCCESS: Database is being started
[2023-10-27 13:03:00] Cleaning up local c4 packages repository
[2023-10-27 13:03:00] SUCCESS: Cleanup was successful.