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:
parent
90d92347e8
commit
d0bb6534b0
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user