Procedures

Intended audience: Anyone who is administering APDB.

The dax_apdb_deploy package implements deployment and management procedues based on Ansible. Details of operations are documented in its README file.

Deployment

Deployment of a new Cassandra cluster consists of defining a set of parameters for the new instance. This is done by adding a new group to group_vars folder and a new inventory YAML file. Additionally new secrets need to be setup in the Vault for both a standard user account and superuser account. Once the group and inventory are defined one needs to run a series of ansible roleplays to configure remote systems and brign up all services.

Maintenance

To be completed…

Backup

Backup operations are based on cassandra-medusa service that runs on every node on the cluster. Location of the backups on S3 is configured in the group_vars. The medusa-backup CLI is implemented to make and manage backups.

Taking backups is not automated yet.

Cold Startup

The services run in docker containers and will restart automatically after downtime. Recovery from a disaster involves additional steps to restore data files from S3 to local filesystem.

To be documented…

Cold Shutdown

Shutdown consusts of running down.yml playbook using a corresponding inventory.

Reproduce Service

dax_apdb_deploy already has inventory and configuration for production and test clusters. Creating another Cassandra cluster would require finding a separate set of nodes with sufficient local storage.