This patch implements the Swift ring distribution and rebalance using
an Ansible playbook, callable by a Mistral workflow.
This has several benefits that are important for Swift clusters:
- Rebalancing and ring deployment is possible without executing a
full overcloud update. This is especially important when there is a
longer rebalance in progress and/or multiple rebalances are required
- Rebalancing can be scheduled using Mistral, for example to
rebalance daily in a cron-like fashion
- Avoids rebalances on every node, which is risky in case one or more
nodes fail to rebalance and leave the cluster in an inconsistent state.
- Rebalance only if it is safe, eg. a full replication run has finished
after the last ring update
The Ansible playbook can be executed either directly using
ansible-playbook & tripleo-ansible-inventory, or by executing the
Mistral workflow.
Change-Id: I7bb1d7d4f45bee36df1c435a11bda5d4cdaae896