blob: 0c85731a92873dee1ccfd0762d461be20f0b7a03 [file] [log] [blame] [view]
## Apigee OPDK Playbook Maintenance - Cassandra Replication Factor Change Runbook
This is an Ansible playbook that performs a modification of the Cassandra replication factor used
with Apigee components with zero downtime in a two data center topology.
## Requirements and Usage Overview
This playbook uses ansible-galaxy to download roles that are used by this playbook. Once roles are
downloaded the playbook and be invoked in several ways. The playbook can be invoked in its entirety,
a tag can be used to invoke a subset of playbook services or the playbook may be run manually. These
ways of invoking the playbook are described below.
## Description: Download Roles
The playbook roles and their location is found in the ```requirements.yml``` file. This file is
provided to ```ansible-galaxy``` so that the roles may be downloaded.
## Usage: Ansible Galaxy
Ansible galaxy will download the required roles when invoked with the install action and the
requirements file. This is accomplished in the following way:
```ansible-galaxy install -r requirements.yml```
## Update Replication Factor Overview
The ```update-replication-factor.yml``` script performs the update of the Cassandra replication
factor for keyspaces in a Cassandra ring. This playbook assumes that you are changing Cassandra
replication on a planet that is composed of two regions or two data centers.
This script expects you to provide the ```replication_factor``` setting you wish to use when the
script is invoked at the command line.
## Usage: Full Playbook Invocation
The full playbook invocation is performed in the following way:
ansible-playbook update-replication-factor -e replication_factor=6 -vvv -b
## Usage: Manaul Playbook Invocation
This playbook enables tasks to be invoked manually. Manual invocation of this playbook is
accomplished in the following way:
ansible-playbook update-replication-factor -e replication_factor=6 -vvv --step
During manual invocation the playbook will stop before every task. The user is prompted on each task
for permission to execute, stop execution or continue execution to the first task of the next play.
The prompt accepts ```y``` to execute; ```n``` to stop execution or ```c``` to continue execution
and stop on the first task of the next play.
## Usage: Playbook Invocation with Tags
ansible-playbook update-replication-factor -e replication_factor=6 -vvv --tags={{ tag name}}
## Usage: Manual Playbook Invocation with Tags
ansible-playbook update-replication-factor -e replication_factor=6 -vvv --tags={{ tag name}} --step
## Defined Tags
Playbook Name | Tag Name | Description | Usage |
--- | --- | --- | --- | --- |
update-replication-factor.yml | cache | Update local cache apigee attributes | --tags=cache
update-replication-factor.yml | backup | Backup zookeeper and cassandra | --tags=backup
update-replication-factor.yml | two | Set the consistency level to TWO for RMPs and MSs | --tags=two
update-replication-factor.yml | local-quorum | Set the consistency level to LOCAL_QUORUM for RMPs and MSs | --tags=local-quorum
update-replication-factor.yml | repair | Perform nodetool repair | --tags=repair
update-replication-factor.yml | restart | Restart all apigee components for nodes with C*/ZK, RMPs and MSs | --tags=restart
update-replication-factor.yml | stop | Stop all apigee components for nodes with C*/ZK, RMPs and MSs | --tags=stop
update-replication-factor.yml | start | Start all apigee components for nodes with C*/ZK, RMPs and MSs | --tags=start
update-replication-factor.yml | update-replication-factor | Update the replication factor | --tags=update-replication-factor
update-replication-factor.yml | logs | Download Apigee logs from servers | --tags=logs
<!-- BEGIN Google Required Disclaimer -->
# Not Google Product Clause
This is not an officially supported Google product.
<!-- END Google Required Disclaimer -->
<!-- BEGIN Google How To Contribute -->
# How to Contribute
We'd love to accept your patches and contributions to this project. Please review our [guidelines](CONTRIBUTION.md).
<!-- END Google How To Contribute -->