Upgrade or patch a cluster

Learn how to upgrade a cluster to a new release, or patch a cluster to update services and allow for bug fixes.


ThoughtSpot Training

  • For best results when upgrading or patching ThoughtSpot, we recommend that you take the following ThoughtSpot U course: Upgrade & Patch a Cluster.

  • See other training resources at ThoughtSpot U.


About cluster upgrades and patches

ThoughtSpot is installed or updated from a release tarball that contains the ThoughtSpot application (binaries and configuration), third-party software, and Operating System image. Third party softwares are licensed software components necessary for operation of the ThoughtSpot application. These include Java, Boost C++ libraries, Google protocol buffers, and so on.

ThoughtSpot patches the Operating System at the time of upgrades. Installation and upgrade use the same process, replacing the older OS image on a node by the new image delivered in the release tarball.

ThoughtSpot Support will contact you to schedule an update when a minor or major upgrade becomes available.

View available releases

You can also view available releases from the Admin Console. To view new releases, navigate to the Admin Console by clicking on the Admin tab from the top navigation bar. Select Upgrade from the side navigation bar that appears.

The Upgrade page shows your cluster’s current version, and any new releases that are available. If no releases are available, you see the following screen.

Admin Console - Upgrade

Upgrade a cluster

To upgrade your cluster, follow these steps:

Step 1: Check cluster health

Step 2: Download the release

Step 3: Upgrade the cluster

Step 4: Finalize installation

Step 1: Check cluster health

  1. SSH into your cluster. Run ssh admin@<nodeIP>.

    Replace nodeIP with your specific network information.

     $ ssh admin@<nodeIP>
  2. Run tscli cluster status. This tells you what version you are currently on, and ensures that the cluster is running and ready.

     $ tscli cluster status
  3. Run tscli cluster check to ensure there are no component failures.

     $ tscli cluster check
  4. If tscli cluster status or tscli cluster check return any failures, contact ThoughtSpot Support before you proceed with the upgrade.

Step 2: Download the release

  1. Use tscli fileserver download-release to download the release bundle.

    You must configure the fileserver by running tscli fileserver configure before you can download the release.

    $ tscli fileserver download-release <release-number> --user <username> --out <release-location>

    Note the following parameters:

    release-number

    is the release number of your ThoughtSpot instance, such as 5.3, 5.3.1, 6.0, and so on.

    username

    is the username for the fileserver that you set up earlier, when configuring the fileserver.

    release-location

    is the location path of the release bundle on your local machine. For example, /export/sdb1/TS_TASKS/install/6.0.tar.gz.

  2. Copy the downloaded release bundle to a specific path in the /export folder.

    You must copy the bundle to a different path in the /export folder, depending on your deployment platform:

    SMC, Dell, VMware, and GCP

    /export/sdb1/TS_SRE_TASKS

    AWS

    /export/xvdb1/TS_SRE_TASKS

    Azure

    /export/sdc1/TS_SRE_TASKS

    Run scp <release-number>.tar.gz admin@<hostname>:/export/sdb1/TS_TASKS/install/<file-name>.

    $ scp <release-number>.tar.gz admin@<hostname>:/export/sdb1/TS_TASKS/install/<file-name>

    Note the following parameters:

    release-number

    is the release number of your ThoughtSpot instance, such as 5.3, 5.3.1, 6.0, and so on.

    hostname

    is your specific hostname.

    file-name

    is the name of the tarball file on your local machine.

You can use another secure copy method, if you prefer a method other than the scp command.

Step 3: Upgrade the cluster

  1. Run tscli cluster update <release-number>.tar.gz.

    Note the following parameters:

    release-number

    is the release number of your ThoughtSpot installation, such as 6.0, 5.3, 5.3.1, and so on.

  2. The nodes reboot one by one. Wait about 15 minutes before you log back in.

  3. To see which step the upgrade is in, run tscli cluster status --tail.

    $ tscli cluster status --tail
    During the upgrade process, some services may temporarily be unavailable. Their status in the tscli cluster status --tail command might be FAILURE. The service should return to SUCCESS as the upgrade continues. If a service continues to fail, contact ThoughtSpot Support.
  4. The upgrade takes about 1.5 hours to complete, including the objects upgrader.

Finalize installation

  1. After the upgrade completes, log out of the shell.

    $ logout
  2. SSH back into the cluster. Run ssh admin@<nodeIP>.

    Replace nodeIP with your specific network information.

     $ ssh admin@<nodeIP>
  3. To check that the cluster is ready, run tscli cluster status.

     $ tscli cluster status

    Ensure that the DATABASE and SEARCH ENGINE fields in the tscli cluster status command show READY.

  4. Sign into the ThoughtSpot application on your browser.

Patch a cluster

To patch your cluster, follow these steps:

Step 1: Obtain cluster patch

Step 2: Verify patch integrity

Step 3: Apply the patch to the cluster

Step 4: Finalize installation

Obtain cluster patch

ThoughtSpot Support must provide you with the correct patch to apply. Do not apply any other patches. Contact ThoughtSpot support to obtain the correct cluster patch.

After ThoughtSpot Support supplies you with the patch, copy it to your cluster.

Step 2: Verify patch integrity

To verify the integrity of the patch file, check the checksum.

Run md5sum -c <patch-name>.tar.gz.MD5checksum.

 $ md5sum -c <patch-name>.tar.gz.MD5checksum

Your output says ok if you have the correct release.

Step 3: Apply the patch to the cluster

Run tscli patch apply <patch-name>.

 $ tscli patch apply <patch-name

The patch process takes about 10 minutes.

Step 4: Finalize installation

Ensure that ThoughtSpot applied the patch successfully.

Run tscli patch ls and look for the new patch name.

 $ tscli patch ls