I am trying to iterate over a hash of hash of a list, but I do not seem to 
be having much luck, I have setup a group variable which I select using a 
variable, which appears to be working correctly as per the debug, but once 
in the template I don't seem to be able to iterate over it no matter what 
permutations I use.

Any advice on this would be great.
Thanks
Dave

*cat group_vars/all*
boston:
    nameservers: ['10.0.0.1','10.0.0.2']
    ntp: ['pool1.ntp.org','pool2.ntp.org']
losangeles:
    nameservers: ['10.0.1.1','10.0.1.2']
    ntp: ['pool1.ntp.org','pool2.ntp.org']


*cat main.yml*
---
-   name: test template
    hosts: all
    vars:
      *  SITE: 'boston'*
    tasks:
    - debug: var={{SITE}}

    - name: Template Test
      template: src=ntp.conf.j2 dest=/tmp/ntp.conf

*cat ntp.conf.j2*
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1

{% for key in SITE[ntp][0] %}

{{key}}

{% endfor %}

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

*ansible-playbook -i hosts main.yml   --connection=local*

PLAY [test template] 
**********************************************************

GATHERING FACTS 
***************************************************************
ok: [localhost]

TASK: [debug var={{SITE}}] 
****************************************************
ok: [localhost] => {
    "var": {
        "boston": {
            "nameservers": [
                "10.0.0.1",
                "10.0.0.2"
            ],
            "ntp": [
                "pool1.ntp.org",
                "pool2.ntp.org"
            ]
        }
    }
}

TASK: [Template Test] 
*********************************************************
fatal: [localhost] => {'msg': 'AnsibleUndefinedVariable: One or more 
undefined variables: unicode object has no element Undefined', 'failed': 
True}
fatal: [localhost] => {'msg': 'AnsibleUndefinedVariable: One or more 
undefined variables: unicode object has no element Undefined', 'failed': 
True}

FATAL: all hosts have already failed -- aborting

PLAY RECAP 
********************************************************************
           to retry, use: --limit @/Users/dave/main.retry

localhost                  : ok=2    changed=0    unreachable=1    failed=0

-- 
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/933a9c54-9181-4bb6-ad22-3087caeae04b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to