Hi,
Ansible 2.1.1.0.
Situation: Tim and Bob both deploy servers. Tim checks out the central
ansible git repo to /home/tim/ansible while Bob checks it out to
/home/bob/ansible. No special ansible.cfg is used by either.
Problem: paths differ (/home/tim/ansible vs /home/bob/ansible) so you
can not use static paths in the playbooks etc.
Question: how do you solve that? How do you specify something like a
base_dir variable which is read early on so that all static paths can be
replaced.
<example based on Google findings which I could not make work>
$ grep base_dir /home/tim/ansible/inventory/group_vars/all
base_dir: "{{ lookup('pipe', 'git rev-parse --show-toplevel') }}"
In Tim's case base_dir should be "/home/tim/ansible".
$ cat /home/tim/ansible/vars/global_vars.yml
roles: "{{ base_dir}}/roles"
handlersdir: "{{ base_dir }}/handlers"
tasksdir: "{{ base_dir }}/tasks"
playbooksdir: "{{ base_dir }}/playbooks"
includedir: "{{ base_dir }}/playbooks/include"
manualdir: "{{ base_dir }}/playbooks/manual"
varsdir: "{{ base_dir }}/vars"
$ cat /home/tim/ansible/playbooks/groups/dns
- name: setup dns servers
hosts: dns
user: root
gather_facts: True
vars_files:
- "{{ base_dir }}/vars/global_vars.yml
roles:
- base
- dns
TIA,
Patrick
--
You received this message because you are subscribed to the Google Groups "Ansible
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a0237410-67f9-a3ee-12ef-9577d7cb286e%40laimbock.com.
For more options, visit https://groups.google.com/d/optout.