IBM Cloud Docs
Upgrading to a new major version

Upgrading to a new major version

When a major version of a database is at its end of life (EOL), upgrade to the next available major version. Find the available versions of Redis in the catalog, with the Cloud Databases CLI plug-in, or through the Cloud Databases API.

Simple upgrade path

Because most uses of Databases for Redis serve as a cache where the data tends to be transient, it is best to create a new deployment. In this simple method, provision a new deployment using the latest version of Databases for Redis and then point your application to the new deployment. This builds up the cache directly through initial use.

How to upgrade to a new major version

Prepare to run on, and then migrate to, the latest version before the EOL date. For more information, see Versioning policy.

Rolling back versions is not supported.

Upgrade to the latest version of Redis available to Databases for Redis. Find the latest version from the catalog page, from the Cloud Databases CLI plug-in command ibmcloud cdb deployables-show, or from the Cloud Databases API /deployables endpoint.

Upgrading is handled by restoring a backup of your data into a new deployment. Restoring from a backup has various advantages:

  • The original database stays running and production work can be uninterrupted.
  • You can test the new database out of production and act on any application incompatibilities.
  • The entire process can be rerun at any point.
  • A fresh restoration reduces the likelihood that unneeded artifacts of the older version of the database are carried over to the new database.

Upgrade paths

Major version upgrade paths
Current version Major version upgrade path
Databases for Redis V5 -> Databases for Redis V6.2
Databases for Redis V6 -> Databases for Redis V6.2

Upgrading using the UI

For new hosting models, upgrading to a new major version is currently available through the CLI and API.

Upgrade to a new version when restoring a backup from the Backups and restore tab on the Overview page of your deployment. Click Restore backup on either the overflow menu or the expanded table row of your chosen backup. This opens the restore provisioning page where you can select options for the new deployment. One of the options is the Database Version, which is auto-populated with the versions available to you. Select a version and click Restore backup to start the provision and restore process.

Upgrading using the CLI

When you upgrade and restore from backup through the IBM Cloud CLI, use the provisioning command from the resource controller.

ibmcloud resource service-instance-create <service-name> <service-id> <service-plan-id> <region>

The parameters service-name, service-id, service-plan-id, and region are all required. You also supply the -p with the version and backup ID parameters in a JSON object. The new deployment is automatically sized with the same disk and memory as the source deployment at the time of the backup.

The list of backups and backup IDs for a deployment can be retrieved using the following command.

ibmcloud cdb deployment-backups-list <deployment name or CRN> --json

Use the ID of your chosen backup as a parameter in the resource controller command as shown below.

ibmcloud resource service-instance-create example-upgrade databases-for-redis standard us-south \
-p \ '{
  "backup_id": "crn:v1:bluemix:public:databases-for-redis:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
  "version":"5.0"
}'

Upgrading using the API

Similar to provisioning through the API, you need to complete the required steps to use the resource controller API before you can use it to upgrade from a backup. Then, send the API a POST request. The parameters name, target, resource_group, and resource_plan_id are all required. You also supply the version and backup ID. The new deployment has the same memory and disk allocation as the source deployment at the time of the backup.

The list of backups and backup IDs for a deployment can be retrieved using the following API request.

curl -X GET  https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/backups  
-H 'Authorization: Bearer <>' \

Use the ID of your chosen backup in the resource controller API request as in the following example.

curl -X POST \
  https://resource-controller.cloud.ibm.com/v2/resource_instances \
  -H 'Authorization: Bearer <>' \
  -H 'Content-Type: application/json' \
    -d '{
    "name": "my-instance",
    "target": "bluemix-us-south",
    "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
    "resource_plan_id": "databases-for-redis-standard",
    "backup_id": "crn:v1:bluemix:public:databases-for-redis:us-south:a/54e8ffe85dcedf470db5b5ee6ac4a8d8:1b8f53db-fc2d-4e24-8470-f82b15c71717:backup:06392e97-df90-46d8-98e8-cb67e9e0a8e6",
    "version":"5.0"
  }'

Backing up and restoring: example

Complete the following on-demand backup and restore steps to upgrade. This example sets out the steps to upgrade from V6 to V7.2.

To create a manual backup in the UI:

  1. Go to the Backups and restore tab of your Databases for Redis instance
  2. Click Create Backup: a message is displayed that a backup is in progress, and an on-demand backup is added to the list of available backups. The on-demand backup can be seen in the overview page, in the recent tasks panel.

To restore a backup to a new service instance:

  1. Go to the Backups and restore tab
  2. Click on the corresponding row to expand the options for the on-demand backup that you want to restore
  3. Click Restore backup, that will re-direct you to the restore instance page.
  4. On the Restore page, you can modify the new instance service name, region and resource allocation values. By default, the new instance is auto-sized to the same disk and memory allocation as the source instance at the time of the backup from which you are restoring. Under Service configuration, select ‘7.2’ as the Database Version.
  5. Click Restore backup.

After the new instance finishes provisioning, your data in the backup file is restored into the new instance. The new upgraded 7.2 instance can be accessed from Resource list.

Do not delete the source instance while the backup is restoring. Before you delete the old instance, wait until the new instance is provisioned and the backup is restored. Deleting an instance also deletes its backups.

Forced upgrade

If you choose not to upgrade using restore and upgrade, Databases for Redis will be force upgraded to the next major version at the version end of life.

If you require data migration

For guidance about migration, see Migrating to Databases for Redis.