dd5b20efa6
I have written a playbook that builds the rings locally and copies them to all hosts in the swift group. In order to write it and test, I put together an ansible server and a bunch of nodes. The build script: - On local: * Runs the swift_common role (so swift source is downloaded and installed so the ringbuilder code exists). * Makes sure /etc/swift/rings exist (as a place to store the rings locally). * Runs the scripts/swift_rings.py script on the swift yaml to generate the keys. NOTE: These are hard coded locations atm (testing purposes). - Then copies the rings to /etc/swift on all the swift servers. NOTE: The swift_ringbuilder code (from swift) which we make use of automatically makes dated backups of the rings on the local ansible server (Whatever runs the code). As of this playbook these are in /etc/swift/rings/backup/ In the process of building and testing the playbook I also fixed up a bunch of errors in the swift_common role. And now seems to be working a treat.