
This ansible module for docker-compose allows for idempotency. I have submitted a pull request upstream to ansible-modules-extra to include this new module. When/if the module is accepted upstream if can be removed from the local module library. The two playbooks have been updated to use this module. The database data container does not support idempotency due to the fact that it exists instead of sleeps. Therefore each time `docker-compose up` is called, it will start the container and register a change. The message-broker does not have this issue and will remain unchanged even repeatedly running these playbooks. Due to the use of a special branch of docker-compose provided by sdake, this module requires at least docker-compose==1.2.0rc1 Change-Id: If1644eaa3bff0c2a007fa2d479a95bea941945f6
Koalla - Kolla with ansible!
Koalla extends the Kolla project past TripleO into its own bonified deployment system using Ansible and docker-compose.
Getting Started
To run the ansible playbooks, you must specify an inventory file which tracks all of the available nodes in your environment. With this inventory file ansible will log into each node via ssh (configurable) and run tasks. Ansible does not require password less logins via ssh, however it is highly recommended to setup ssh-keys. More information on the ansible inventory file can be found here.
Deploying
For All-In-One deploys, you can run the following commands. These will setup all of the containers on your localhost.
cd ./kolla/ansible
ansible-playbook -i inventory/all-in-one site.yml
To run the playbooks for only a particular service, you can us ansible tags. Multiple tags may be specified, and order is still determined by the playbooks.
cd ./kolla/ansible
ansible-playbook -i inventory/all-in-one site.yml --tags message-broker
ansible-playbook -i inventory/all-in-one site.yml --tags message-broker,database
Further Reading
Ansible playbook documentation can be found here.