Hi all,
I'm a bit confused about the behavior of add_host when used from inside a 
role or directly in the playbook.
Am I doing something wrong or am I just hitting some role's scope boundary?

THIS WORKS (from the playbook)

---

- name: "provision Ec2"
hosts: localhost
connection: local
gather_facts: false
tasks:
- ec2_instance:
name: "{{ ec2_name }}"
security_groups:
[ecc ecc....]
register: ec2_result

- name: Add new instance to launched group
hosts: localhost
tasks:
- add_host:
hostname: "{{ item.network_interfaces[0].private_ip_address }}"
groupname: launched
with_items: "{{ ec2_result.instances }}"

- name: "config service inside EC2"
hosts: launched
tasks:
[perform config of inside the EC2 ...]

THIS DOES NOT WORK (from inside a role)
Here I'm just encapsulating the EC2 provisioning logic in a role called 
'ec2'.
The second play ("config service inside EC2") is skipped because the host 
is not present in the in memory inventory.

---

- name: "create ec2 common linux"
hosts: localhost
connection: local
gather_facts: false
roles:
- ec2
tasks:
- meta: refresh_inventory

- name: "config service inside EC2"
hosts: launched
tasks:
[perform config of inside the EC2 ...]


./roles/ec2/tasks/main.yml
---

- name: "provision Ec2"
hosts: localhost
connection: local
gather_facts: false
tasks:
- ec2_instance:
name: "{{ ec2_name }}"
security_groups:
[ecc ecc....]
register: ec2_result

- name: Add new instance to launched group
hosts: localhost
tasks:
- add_host:
hostname: "{{ item.network_interfaces[0].private_ip_address }}"
groupname: launched
with_items: "{{ ec2_result.instances }}"





-- 
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 ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7866f762-0d10-4438-9ba1-0d1c12181b1f%40googlegroups.com.

Reply via email to