On Saturday, 17 February 2018 21.44.06 CET Brigzzy Briggs wrote:
> I can see that
> 
> 
> "ansible_os_family": "Sangoma"
> 
> In my template, I have the following if statement:
> 
> 
> {% if ansible_os_family == "Debian" or ansible_os_family == "Ubuntu" %}
> define service{
>         use                             local-service
>         host_name                       {{ hostvars[item].inventory_hostname 
> }}
>         service_description             Apt Status
>         check_command                   check_apt
>         }
> {% endif %}
> 
> and the issue is that the block is still being generated for that server, 
> even though it's not Debian or Ubuntu.
> 
> 
> I posted this on Reddit as well 
> <https://www.reddit.com/r/ansible/comments/7y5uje/troubles_with_an_if_statement_in_a_jinja2_template/?st=jdrthmo2&sh=38998e5f>,
>  
> and I realized that the issue is that the template is being applied to my 
> Nagios server, which is Debian, so the ansible_os_family is always coming 
> back Debian.  What I'm having trouble with is how to get the if statement 
> to get it's facts from the target server, and not the one the playbook is 
> running on.  I'm able to get the hostname from the static hosts file like 
> this
> 
> 
> {{ hostvars[item].inventory_hostname }}
> 
> but I'm not having any luck figuring out how to get the template to apply 
> to the values from that host.  Anyone have any ideas? 

Without the more of the code on where and how you are generating the template 
it's difficult to say, but I believe you are looking for this

{% if hostvars[item].ansible_os_family == "Debian" or 
hostvars[item].ansible_os_family == "Ubuntu" %}

or the more cleaner version

{% if hostvars[item].ansible_os_family in ['Debian', 'Ubuntu'] %}

-- 
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/4435325.1A5qZCI52J%40x1.
For more options, visit https://groups.google.com/d/optout.

Reply via email to