Hello!

I am currently writing role which is supposed to automate creation of GRE 
tunnels between endpoints . 

So I created new role and it uses variable named gre_tunnels which is list. 
It usually looks like this:

gre_tunnels:
  - name: lb1-app1
    ttl: 64
    local:
      addr: "{{lxc_gre_ip}}"
      endpoint: "{{ansible_eth0.ipv4.address}}"
      network: "{{lxc_subnet}}"
      cidr: "{{lxc_subnet_bits}}"
    remote:
      addr: "{{hostvars['app1']['lxc_gre_ip']}}"
      endpoint: "{{hostvars['app1']['ansible_eth0']['ipv4']['address']}}"
      network: "{{hostvars['app1']['lxc_subnet']}}"
      cidr: "{{hostvars['app1']['lxc_subnet_bits']}}"


This role doesn't do anything particularly fancy, it iterates gre_tunnels 
list by means of 'with_items', 
then generates interface definitions for Debian/Ubuntu , brings interfaces 
up and generates firewall configuration. 

My problem is:

I noticed that when I use templates in host_vars like in example above not 
all of them are rendered. 
Specifically 'local' hash variable values will be correctly presented while 
'remote' hash values will be rendered incorrectly.
If I try to use values from this hash in a 'template' module  variable 
values look like '{#hostvars['app1']['lxc_gre_ip']#}' (without quotes).

Problem exists in every '{{  }}'  jinja block when hostvars are referenced 
inside . I'm not sure whether it's a bug or I am doing something stupid.

My idea of templating in host_vars  is based on assumption that it would be 
a good idea not to force myself to change IP addresses in multiple places 
  ( You probably know  DRY principle and all that stuff ) 


So, what should I do next?

 

-- 
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/25c381b4-0f25-44fd-bc63-086b06a10181%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to