Upgrade GoodData.CN

To upgrade GoodData.CN to a new official release, use the following command:

helm upgrade --namespace gooddata-cn --version <gooddata-cn-release> \
    -f customized-values-gooddata-cn.yaml gooddata-cn gooddata/gooddata-cn

In most cases, you can upgrade directly to the latest version of GoodData.CN, unless there are version specific upgrades steps required between your current version and the target version. If such steps are required, you must apply the necessary migrations incrementally for each version.

For example if you are currently on version 3.1, you can upgrade directly to version 3.16 by following the instructions outlined in the 3.10 upgrade guide.

When upgrading, ensure that you reapply your custom configurations from the customized-values-gooddata-cn.yaml file, saved during the original installation. This prevents your settings from being overwritten by default values.

Version Specific Upgrades

Occasionally, specific upgrades require additional steps to ensure a successful update to a new version of GoodData.CN. This section outlines all version-specific upgrade instructions starting from version 3.0.0.

Version 3.10.0

You need to do this when upgrading from GoodData.CN version 3.9 to 3.10.

The 3.10.0 image has an updated PostgreSQL server, so you need to migrate your data to the new PostgreSQL server:

  1. Start a container from image 3.9.0 with the data volume mounted as usual.

  2. Run the backup script inside the running container (replace gdcn-id with your container name):

    $ docker exec -it gdcn-id /opt/scripts/dump_database.sh
    

    You should see the message: “Backup successfully created.”

  3. Stop and optionally delete the old container, but keep the volume.

  4. Run the new container (version 3.10.0) with the original volume. The data will be upgraded automatically.

You will know the data restoration is successful if you see these messages at the start of the new container:

/data/backup/dump.sql.gz: OK

Found a dump to restore.

...

BACKUP RESTORED

Rollback

If the upgrade fails, you can still use the old image (3.9.0) and data volume.

If you accidentally start the new image with the old volume without running the backup script, the application will start but show no data. To recover, follow these steps:

  1. Stop and delete the container you started from the new image.

  2. Run a container from the old image (3.9.0) with the mounted volume and modified entry point to remove the incompatible Redis savepoint:

    docker run -it --rm -v gd-data:/data --entrypoint /bin/rm gooddata/gooddata-cn-ce:3.9.0 -f /data/redis/dump.rdb
    
    1. Run the database backup as described above.
    2. Run a container from the new image, and your data will be available again.