Hi,

I've been trying to get Ansible Tower to run a playbook/role which should 
update the /etc/hosts file across all hosts in a group.

I have the following playbook:

- name: Update hosts file if required
  hosts: all
  gather_facts: yes

  roles:
    - { role: hostfile }

and the following role:

---

- debug: var=ansible_default_ipv4.address

- name: node to ip mapping
  debug: var=hostvars[item].ansible_default_ipv4.address
  with_items: groups['all']

- name: Build Host file
  lineinfile: dest=/etc/hosts
              regex='.*{{ item }}$ }}'
              line="{{ hostvars[item].ansible_default_ipv4.address }} 
{{item}}"
              state=present
  when: hostvars[item].ansible_default_ipv4.address is defined
  with_items: groups['all']
  become: true

However, when Tower run this its skips the 2 hosts in the group.  From 
looking at the debug output it would appear that Tower is not caching the 
facts under hostvars as you can see from the output below:

TASK [setup] 
******************************************************************* ok: 
[172.31.9.43] ok: [52.50.60.2] TASK [hostfile : debug] 
******************************************************** ok: [172.31.9.43] 
=> { "ansible_default_ipv4.address": "172.31.9.43" } ok: [52.50.60.2] => { 
"ansible_default_ipv4.address": "172.31.33.206" } TASK [hostfile : node to 
ip mapping] ******************************************* ok: [172.31.9.43] 
=> (item=groups['all']) => { "hostvars[item].ansible_default_ipv4.address": 
"VARIABLE IS NOT DEFINED!", "item": "groups['all']" } ok: [52.50.60.2] => 
(item=groups['all']) => { "hostvars[item].ansible_default_ipv4.address": 
"VARIABLE IS NOT DEFINED!", "item": "groups['all']" } TASK [hostfile : 
Build Host file] ********************************************** skipping: 
[172.31.9.43] => (item=groups['all']) skipping: [52.50.60.2] => 
(item=groups['all']) PLAY RECAP 
********************************************************************* 
172.31.9.43 : ok=3 changed=0 unreachable=0 failed=0 52.50.60.2 : ok=3 changed=0 
unreachable=0 failed=0 


I have a feeling that I'm missing something very obvious here.  Any ideas 
where I should look?

Thanks,
Jon



-- 
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/30ec051c-1093-44f2-b92f-5a42ba5b08f6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to