Skip to content

Commit

Permalink
Merge pull request #396 from pigmej/docs_handler_ansible
Browse files Browse the repository at this point in the history
Added some ansible handler descripton to docs
  • Loading branch information
loles committed Dec 1, 2015
2 parents 8cc77df + cc98cc4 commit 2b614ea
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Contents:
source/resource
source/orchestration
source/transports
source/handler_ansible
source/examples
source/deployment_plan

Expand Down
48 changes: 48 additions & 0 deletions docs/source/handler_ansible.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.. _handler_ansible_details:

Ansible Handler
===============

Let's look into simple ``hosts_file/actions/run.yaml`` example ::

- hosts: [{{host}}]
sudo: yes
tasks:
{% for val in hosts %}
- name: Create hosts entries for {{val['name']}} => {{val['ip']}}
lineinfile:
dest: /etc/hosts
regexp: ".*{{val['name']}}$"
line: "{{val['ip']}} {{val['name']}}"
state: present
{% endfor %}

It's pretty much standard ansible playbook, but it is processed with jinja2 before ansible is executed.

Solar will create proper inventory ::

localhost ansible_connection=local user=vagrant location_id="d6255f99dda2fca55177ffad96f390a9" transports_id="2db90247d5d94732448ebc5fdcc9f80d" hosts="[{'ip': u'10.0.0.4', 'name': u'node1'}, {'ip': u'10.0.0.3', 'name': u'node0'}]"

Playbook will be also created ::

- hosts: [localhost]
sudo: yes
tasks:

- name: Create hosts entries for node1 => 10.0.0.4
lineinfile:
dest: /etc/hosts
regexp: ".*node1$"
line: "10.0.0.4 node1"
state: present

- name: Create hosts entries for node0 => 10.0.0.3
lineinfile:
dest: /etc/hosts
regexp: ".*node0$"
line: "10.0.0.3 node0"
state: present

You may wonder about ``hosts: [{{host}}]``, we have our own :ref:`res-transports-term` so we execute ansible like this ::

ansible-playbook --module-path /tmp/library -i /tmp/tmpkV0U5F/tmpGmLGEwhosts_file2/inventory /tmp/tmpkV0U5F/tmpGmLGEwhosts_file2/runlNjnI3

0 comments on commit 2b614ea

Please sign in to comment.