This repo contains the Ansible roles and example playbooks used for deploiying and maintaining Scylla clusters. The roles produce some outputs that can be used with the other roles, running all 3 in tandem is recommended, but not required.
For detailed documentation of each role and some of the example playbooks, please see the Wiki: https://github.com/scylladb/scylla-ansible-roles/wiki
Discussion on Slack: https://scylladb-users.slack.com/archives/C01KV03RTEV
This role will deploy Scylla on the provided set of roles. Please see the role's README and defaults/main.yml for variable settings.
The inventory also has to be configured properly for this role, specifically the [scylla]
group members, if using the GPFS snitch much have dc
and rack
properties, and if using one of the public-cloud snitches they need to have dc_suffix
set the same way.
This role will deploy Scylla Manager on the given host(s). If ansible-scylla-node was run before with the scylla_manager_enabled
var set to true
, there will be a pre-generated auth token already prepared and applied to the nodes to use. Manager will be installed and connected to the Scylla cluster.
This role will install Scylla Monitoring (a prometheus/grafana based, containerized monitoring stack). If the ansible-scylla-node role was run previously with generate_monitoring_config
set to true
, there is already a scylla-servers.yaml file prepared for the stack to use, in order to connect to the existing cluster.
This role will prepare a host to run a stress load against a Scylla cluster. The following components get installed:
- Scylla Java driver
- Scylla Python driver
- cassandra-stress (in $PATH)
- tlp-stress (in $PATH)
- YCSB (in /home/ANSIBLE_USER/ycsb/VERSION)
Some basic playbooks showing off how the roles can be utilized, as well as some playbooks used for standard day-2 ops with Scylla