Initial commit for adding ansible support

This adds a very basic structure to begin supporting ansible in Kolla.
Ansible can support complete idempotency, but wrapping docker-compose
does not allow idempotency at this time. These playbooks will be
extended to compensate for that in future patches.

Change-Id: I1c9e8d32321e2733f5a9b752edf74b4fe90317ed
This commit is contained in:
Sam Yaple 2015-03-28 17:16:24 -05:00
parent 62dbf832ad
commit 0f5af771ef
6 changed files with 80 additions and 0 deletions

42
ansible/README.md Normal file
View File

@ -0,0 +1,42 @@
Koalla - Kolla with ansible!
============================
Koalla extends the Kolla project past [TripleO][] into its own bonified
deployment system using [Ansible][] and [docker-compose][].
[TripleO]: https://wiki.openstack.org/wiki/TripleO
[Ansible]: https://docs.ansible.com
[docker-compose]: http://docs.docker.com/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][].
[here]: https://docs.ansible.com/intro_inventory.html
Deploying
=========
For AIO 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
```
Further Reading
===============
Ansible playbook documentation can be found [here][].
[here]: http://docs.ansible.com/playbooks.html

View File

@ -0,0 +1,8 @@
[support]
localhost ansible_connection=local
[database:children]
support
[message-broker:children]
support

View File

@ -0,0 +1,14 @@
[support]
# These hostname must be resolvable from your deployment host
support01 ansible_ssh_user=sam
support02 ansible_ssh_user=sam
support03 ansible_ssh_user=sam
# The above can also be specified as follows:
#support[01:03] ansible_ssh_user=sam
[database:children]
support
[message-broker:children]
support

View File

@ -0,0 +1,3 @@
---
- name: Bringing up mariadb service(s)
command: docker-compose -f /root/kolla/compose/mariadb.yml up -d

View File

@ -0,0 +1,3 @@
---
- name: Bringing up rabbitmq service(s)
command: docker-compose -f /root/kolla/compose/rabbitmq.yml up -d

10
ansible/site.yml Normal file
View File

@ -0,0 +1,10 @@
---
- hosts: database
roles:
- database
tags: database
- hosts: message-broker
roles:
- message-broker
tags: message-broker