I have an inventory file like this:
[webservers]
10.0.0.1
10.0.0.2
10.0.0.3
[postgresservers]
10.0.0.4
And I'm trying to run this playbook against my Postgres host:
---
- name: Allow eth1 port 5432 access to Web servers
ufw: rule=allow interface=eth1 direction=in port=5432 proto=tcp src={{
item }}
with_items:
{% for host in groups['webservers'] %}
- "{{ hostvars[host]['ansible_eth1']['ipv4']['address'] }}"
{% endfor %}
What I'm trying to accomplish is for the playbook to determine each Web
host's eth1 IPv4 address (which is different from the eth0 IPv4 address
listed in the inventory file) and add allowances for them in the Postgres
host's firewall.
However, my syntax is incorrect (sorry, I'm a Python noob):
ERROR: Syntax Error while loading YAML script,
/tmp/ansible/roles/postgres/tasks/firewall.yml
Note: The error may actually appear before this position: line 5, column 6
with_items:
{% for host in groups['web_servers'] %}
^
Am I taking the right approach here and just need to fix my syntax, or is
there a better way?
Thanks!
Abe
--
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/6bbb9367-d0ac-4931-adb9-471d86266be8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.