Python script for managing and repairing (in a smart way) Scylla Cluster. It repairs the primary range of a Scylla node in discrete steps using advanced repair techniques.
- Python >=3.5
- SSH connection or direct access to every Scylla host in the cluster should be possible
- Scylla REST API listens on every Scylla host on
<localhost|IP>:10000
Following env variables could be set to make your life easier:
export SCYLLA_HOST='10.210.92.46' # initial endpoint for obtaining cluster topology
export SCYLLA_USERNAME='root' # ssh user on Scylla host
export SCYLLA_PKEY='/home/USER/.ssh/id_rsa' # Defaults to ~/.ssh/id_rsa
export SCYLLA_CONNECTION_METHOD='ssh' # or 'direct'
pip3 install scylla-cli
virtualenv -p python3 scylla-cli
pip3 install --editable .
scli status
# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on every endpoint in local DC only
$ scli -u root -p repair sync --local
# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on 10.210.92.46 only
$ scli -u root -p repair sync --local --hosts 10.210.92.46
# connect to the cluster via 10.210.92.46 with root credentials and repair
# sync keyspace on every host except 10.210.92.46
$ scli -u root -p repair sync --local --exclude 10.210.92.46