Improve the Kolla documentation

This will be a moving target as we build the playbooks, but this
information should be enough to get our Ansible devs going.

Partially Implements: blueprint ansible-service

Change-Id: I9519523a05fd16f8c70ba8a63e9549fea4f5cbb4
This commit is contained in:
Sam Yaple 2015-07-01 13:28:18 +00:00
parent 90d92347e8
commit d0bb6534b0

View File

@ -1,21 +1,18 @@
Koalla - Kolla with Ansible! Kolla with Ansible!
============================ ============================
Koalla extends the Kolla project past [TripleO][] into its own bonified Kolla will supports deploying Openstack using [Ansible][].
deployment system using [Ansible][] and [docker-compose][].
[TripleO]: https://wiki.openstack.org/wiki/TripleO
[Ansible]: https://docs.ansible.com [Ansible]: https://docs.ansible.com
[docker-compose]: http://docs.docker.com/compose
Getting Started Getting Started
--------------- ---------------
To run the Ansible playbooks, you must specify an inventory file which tracks To run the Ansible playbooks, an inventory file which tracks all of the
all of the available nodes in your environment. With this inventory file available nodes in the environment must be speficied. With this inventory file
Ansible will log into each node via ssh (configurable) and run tasks. Ansible 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 does not require password-less logins via ssh, however it is highly recommended
to setup ssh-keys. to setup ssh-keys.
Two sample inventory files are provided, *all-in-one*, and *multinode*. The Two sample inventory files are provided, *all-in-one*, and *multinode*. The
@ -26,27 +23,44 @@ More information on the Ansible inventory file can be found [here][].
[here]: https://docs.ansible.com/intro_inventory.html [here]: https://docs.ansible.com/intro_inventory.html
Deploying Deploying
--------- ---------
You can adjust variables for your environment in the file: Add the etc/kolla directory to /etc/kolla on the deployment host. Inside of
"./kolla/ansible/group_vars/all.yml" this directory are two files and a minimum number of parameters which are
Ensure that the *koalla_directory* variable matches where you have Kolla cloned listed below.
on the target machine(s).
For All-In-One deploys, you can run the following commands. These will setup all All variables for the environment can be specified in the files:
of the containers on your localhost. "/etc/kolla/globals.yml" and "/etc/kolla/passwords.yml"
kolla_external_address: "openstack.example.com"
kolla_internal_address: "10.10.10.254"
The kolla_*_address variables can both be the same. When the keepalived and
haproxy containers are implemented in Ansible this will be a VIP. While waiting
for completion of the services, just use the ip address of one of the nodes
running the services.
network_interface: "eth0"
The network_interface is what will be given to neutron to use. It should not
have an ip on the interface.
For All-In-One deploys, the following commands can be run. These will setup all
of the containers on the localhost. These commands will be wrapped in the
kolla-script in the future.
cd ./kolla/ansible cd ./kolla/ansible
ansible-playbook -i inventory/all-in-one site.yml ansible-playbook -i inventory/all-in-one -e @/etc/kolla/defaults.yml -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml site.yml
To run the playbooks for only a particular service, you can use Ansible tags. To run the playbooks for only a particular service, Ansible tags can be used.
Multiple tags may be specified, and order is still determined by the playbooks. Multiple tags may be specified, and order is still determined by the playbooks.
cd ./kolla/ansible cd ./kolla/ansible
ansible-playbook -i inventory/all-in-one site.yml --tags message-broker ansible-playbook -i inventory/all-in-one -e @/etc/kolla/defaults.yml -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml site.yml --tags message-broker
ansible-playbook -i inventory/all-in-one site.yml --tags message-broker,database ansible-playbook -i inventory/all-in-one -e @/etc/kolla/defaults.yml -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml site.yml --tags message-broker,database
Further Reading Further Reading