Upgrade Guide - Scylla Manager 1.4.x to 2.0.x

Supported Operating Systems: CentOS/RHEL 7, Ubuntu 16 and 18, Debian 9

Enterprise customers who use Scylla Manager 1.4.x are encouraged to upgrade to 2.0.x. For new installations please see Scylla Manager - Download and Install. The steps below instruct you how to upgrade the Scylla Manager server while keeping the manager datastore intact. If you are not running Scylla Manager 1.4.x, do not perform this upgrade procedure. This procedure only covers upgrades from Scylla Manager 1.4.x to 2.0.x. If you want to upgrade to 2.0 from lower versions please upgrade to 1.4.x first.

Please contact Scylla Enterprise Support team with any questions. For release information, see the Release Notes.

Upgrade Procedure

Workflow:

  1. Stop the Scylla Manager Server

  2. Backup the Scylla Manager data

  3. Install the Scylla Manager server 2.0

  4. Install the Scylla Manager Agent (with the most up to date version)latest agent on eachthe node. Confirm the nodes all start and make sure they are started.

  5. Start the Scylla Manager server

  6. Validate that the upgrade was successful

  7. (optional) Remove ssh artifacts from the nodes

  8. (optional) Configure auth token in the agent configuration, and update cluster in Scylla Manager.

Stop the Scylla Manager Server

Procedure

  1. Make sure that no task is running (all tasks have DONE status) before stopping the server:

    sctool task list -c <cluster_id|cluster_name>
    
  2. Stop the Scylla Manager:

    sudo systemctl stop scylla-manager
    

Backup the Scylla Manager data

Scylla Manager server persists its data to a Scylla cluster (data store). Before upgrading, backup the scylla_manager keyspace from Scylla Manager’s backend, following this backup procedure.

Install new Scylla Manager server 2.0

Before upgrading, check what version you are currently running:

CentOS / RHEL

rpm -q scylla-manager

Ubuntu / Debian

dpkg -s scylla-manager

Save the details of this version so you can rollback to it.

To upgrade:

Follow the procedure described in: Install new Scylla Manager server 2.0

Download, Install and Start Scylla Manager Agent

Follow the instructions described in Install the Scylla Manager Agent for installing the Scylla Manager Agent on every node in the cluster.

Start the Scylla Manager Server

From the Scylla Manager Server, run:

sudo systemctl start scylla-manager

Configure Scylla Manager to work with the authentication token

Copy the authentication token you created when installating the scylla-manager-agent:

sctool cluster update --auth-token=6Es3dm24U72NzAu9ANWmU3C4ALyVZhwwPZZPWtK10eYGHJ24wMoh9SQxRZEluWMc0qDrsWCCshvfhk9uewOimQS2x5yNTYUEoIkO1VpSmTFu5fsFyoDgEkmNrCJpXtfM -c cluster-name

Validate

  1. Check that Scylla Manager service is running with sudo systemctl status scylla-manager.service. Confirm the service is active (running). If not, then start it with systemctl start scylla-manager.service.

  2. Confirm that the upgrade changed the Client and Server version. Run sctool version and make sure both are 2.0.x version. For example:

    sctool version
    Client version: 2.0-0.20191220.5407198e
    Server version: 2.0-0.20191220.5407198e
    
  3. Confirm that following the update, that your managed clusters are still present. Run sctool cluster list

    sctool cluster list
    ╭──────────────────────────────────────┬──────────╮
    │ cluster id                           │ name     │
    ├──────────────────────────────────────┼──────────┤
    │ db7faf98-7cc4-4a08-b707-2bc59d65551e │ cluster  │
    ╰──────────────────────────────────────┴──────────╯
    
  4. Confirm that following the upgrade, status is up and running

    sctool status -c <cluster_id|cluster_name>
    Datacenter: AWS_1
    ╭───────────┬─────┬───────────┬───────────────╮
    │ CQL       │ SSL │ REST      │ Host          │
    ├───────────┼─────┼───────────┼───────────────┤
    │ UP (56ms) │ OFF │ UP (37ms) │ 127.0.0.1     │
    │ UP (56ms) │ OFF │ UP (25ms) │ 127.0.0.2     │
    │ UP (56ms) │ OFF │ UP (25ms) │ 127.0.0.3     │
    ╰───────────┴─────┴───────────┴───────────────╯
    

Rollback Procedure

The following procedure describes a rollback from Scylla Manager 2.0 to 1.4. Apply this procedure if an upgrade from 1.4 to 2.0 failed for any reason.

Warning: note that you may lose the manged clusters after downgrade. Should this happen, you will need to add the managed clusters clusters manually.

  • Downgrade to previous release

  • Start Scylla Manager

  • Valdate Scylla Manager version

Downgrade to previous release

  1. Stop Scylla Manager

    sudo systemctl stop scylla-manager
    
  2. Drop the scylla_manager keyspace from the remote datastore

    cqlsh -e "DROP KEYSPACE scylla_manager"
    
  3. Remove Scylla Manager repo

    CentOS / RHEL

    sudo rm -f /etc/yum.repos.d/scylla-manager.repo
    sudo yum clean all
    sudo rm -rf /var/cache/yum
    

    Ubuntu / Debian

    sudo rm -f /etc/apt/sources.list.d/scylla-manager.list
    
  4. Update the Scylla Manager repo to 1.4.x

  5. Install previous version

    CentOS / RHEL

    sudo yum downgrade scylla-manager scylla-manager-server scylla-manager-client -y
    

    Ubuntu / Debian

    sudo apt-get update
    sudo apt-get remove scylla-manager\* -y
    sudo apt-get install scylla-manager scylla-manager-server scylla-manager-client
    sudo systemctl unmask scylla-manager.service
    

Rollback the Scylla Manager database

  1. Start Scylla Manager to reinitialize the data base schema.

    sudo systemctl start scylla-manager
    
  2. Stop Scylla Manager to avoid issues while restoring the backup. If you did not perform any backup before upgrading then you are done now and can continue at “Start Scylla Manager”.

    sudo systemctl stop scylla-manager
    
  3. Restore the database backup if you performed a backup by following the instructions in Restore from a Backup You can skip step 1 since the Scylla Manager has done this for you.

Start Scylla Manager

sudo systemctl start scylla-manager

Validate Scylla Manager Version

Validate Scylla Manager version:

sctool version

The version should match with the version infomation you were running previously.