Home

Awesome

Cassandra Collection

CI CI_roles Codecov Build & Publish Collection

This collection called cassandra aims at providing all Ansible modules allowing to interact with Apache Cassandra.

As this is an independent Collection, it can be released on it's own release cadance.

If you like this collection please give us a rating on Ansible Galaxy.

Collection contents

Roles

These roles prepare servers with Debian-based and RHEL-based distributions to run Cassandra.

Modules

Module support for Consistency Level

The pure-python modules, currently cassandra_role, cassandra_keyspace & cassandra_table all have a consistency_level parameter, through which the consistency level can be changed. Not all consistency levels are supported by read and write. The table below summarizes this.

Consistency LevelReadWrite
ANYNoYes
ONEYesYes
TWOYesYes
THREEYesYes
QUORUMYesYes
ALLYesYes
LOCAL_ONEYesYes
LOCAL_QUORUMYesYes
EACH_QUORUMNoYes
SERIALYesNo
LOCAL_SERIALYesNo

If the chosen consistency level is not supported, by either read or write, then the default LOCAL_ONE is used.

Supported Cassandra Versions

GitHub workflow

Contributing

Any contribution is welcome and we only ask contributors to:

Running integration tests locally

Clone the collection git project. The ansible-test tool requires a specific directory setup to function correctly so please follow carefully.

cd && mkdir -p git/ansible_collections/community
git clone https://github.com/ansible-collections/community.cassandra.git ./ansible_collections/community/cassandra
cd ./git/ansible_collections/community/cassandra

Create a virtual environment

virtualenv venv
source venv/bin/activate
pip install -r requirements-3.6.txt

Run all tests

ansible-test integration --docker ubuntu1804 -v --color --python 3.6

Run tests just for the cassandra_role module

ansible-test integration --docker ubuntu1804 -v --color --python 3.6 cassandra_role

License

GNU General Public License v3.0 or later

See LICENCING to see the full text.