Hi Michael,

Could you elaborate a bit on how to use this?

You see, i'm trying to do the same thing:
```
# Cluster connection URL 
{# set mysql_hosts = groups["tag_type_mysql"] | 
intersect(groups["tag_environment_dev"]) #}
wsrep_cluster_address=gcomm://{% for host in mysql_hosts %}{{ 
hostvars[host]['ansible_eth0']['ipv4']['address'] }},{% endfor %}
```

But the variable "mysql_hosts" does not seem to get populated:
```
fatal: [10.220.226.243] => {'msg': "AnsibleUndefinedVariable: One or more 
undefined variables: 'mysql_hosts' is undefined", 'failed': True
```

When I look at the two groups:
```
type mysql group
{{ groups.tag_type_mysql | to_nice_yaml }}
env dev group
{{ groups.tag_environment_dev | to_nice_yaml }}
```

They result in: 
```
type mysql group
- 10.220.226.243
- 10.220.227.5
- 10.220.225.203
env dev group
- 10.220.2.242
- 10.220.3.129
- 10.220.227.77
- 10.220.222.24
- 10.220.221.8
- 10.220.226.9
- 10.220.226.243
- 10.220.226.70
- 10.220.227.5
- 10.220.225.203
- 10.220.227.20
- 10.220.1.169
- 10.220.225.84
- 10.220.220.247
- 10.220.225.126
```

so I know they exist and are filled..



On Wednesday, July 9, 2014 at 10:00:43 PM UTC+2, Michael DeHaan wrote:
>
> In your template above I'd probably just assign a "my_hosts" variable to 
> the expression to clean up the loop a bit.
>
> {# set my_hosts = groups["tag_provides_logstash-server"] | 
> intersect(groups["tag_env_dev"]) #}
> {% for host in my_hosts %}
>
> etc
>
> The other thing you have is the "play_hosts" variable in Ansible which 
> should return all the hosts in the current play.
>
> So to your question, yes, there are easier ways now that can make things 
> easier to follow.
>
>
>
>
>
> On Wed, Jul 9, 2014 at 3:28 PM, Ehtesh Choudhury <[email protected] 
> <javascript:>> wrote:
>
>> I'm using ec2.py as my hostfile and I'm writing the following templating 
>> in
>> Jinja2.
>>
>>     {% for host in groups["tag_provides_logstash-server"] %}
>>     # {{ hostvars[host]["ec2_ip_address"] }} {{ 
>> hostvars[host]["ec2_tag_Name"] }}
>>     {% endfor %}
>>
>>     # This isn't valid in Jinja2, but is what I"m looking for:
>>     # groups["tag_provides_logstash-server:&tag_env_dev"]
>>
>> Other people have aimed for this behavior before:
>>
>>     https://groups.google.com/forum/#!topic/Ansible-project/QuqXUV_BEMM
>>
>> Gustavo's resolution isn't as simple as I would like, though.
>> This is what I have settled on for now:
>>
>>     {% for host in groups["tag_provides_logstash-server"] | 
>> intersect(groups["tag_env_dev"]) %}
>>     # {{ hostvars[host]["ec2_ip_address"] }} {{ 
>> hostvars[host]["ec2_tag_Name"] }}
>>     {% endfor %}
>>
>> It looks good, but I would like to know if there's anything grossly wrong 
>> or
>> devious with this approach.
>>
>>  -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/CAJ2TK023bDGckFjC6gJTJDbRVggw6o2Gjd5rCBWGZneEUiD5XQ%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/CAJ2TK023bDGckFjC6gJTJDbRVggw6o2Gjd5rCBWGZneEUiD5XQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/f87de546-1625-440f-af99-c169ac6e7b3d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to