The issue was not so much with the quoting ( I tried that as well before 
posting ) but the value host_a after hostvars. Ansible was looking for the 
IP address under the host heading. 
Ex. {{ hostvars['x.x.x.x'][eth0] }}

Is there another way to do this? I would prefer not to put the IP or a DNS 
name in the template so real values don't get checked into source code.

Thanks,

On Saturday, February 23, 2019 at 1:04:57 PM UTC-5, Kai Stian Olstad wrote:
>
> On 23.02.2019 18:53, [email protected] <javascript:> wrote: 
> > Hello all, 
> > 
> > I have an inventory file populated with two hosts and I would like to 
> use 
> > the value of host B's variable on host A. I had no luck with using 
> hostvars 
> > in the template. 
> > 
> > Example inventory file. Note this will be a dynamically generated file. 
> > 
> > [host_a] 
> > x.x.x.x 
> > [host_a:vars] 
> > eth0=192.168.1.1 
> > eth1=192.168.2.1 
> > 
> > 
> > [host_b] 
> > x.x.x.x 
> > [host_b:vars] 
> > eth0=192.168.1.2 
> > eth1=192.168.2.2 
> > 
> > I want to use 192.168.2.1 from host_a's variable in a template that will 
> > generate a config file on both host a and b. For example, the config on 
> > both hosts will have an entry like this: clustered_ips = 192.168.2.1, 
> > 192.168.2.2 
> > 
> > I tried this in the template file but get undefined variable. 
> > 
> > {{ hostvars[host_a][eth0] }} 
>
> Without quotes inside [] they are taken as variables, so host_a and eth0 
> is taken as variables. 
> So you're looking for this 
>
>   {{ hostvars['host_a']['eth0'] }} 
>
> -- 
> Kai Stian Olstad 
>

-- 
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/89d25a81-4ea7-442a-82b1-fdd331a87217%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to