That was brilliant Kai, it worked for me very well.

To add some more info, i did it like this:

Playbook:

    - template: src=/opt/report.txt dest=/opt/reports/linux_report.txt
      delegate_to: 127.0.0.1
      run_once: true


Report.txt

List of linux hosts checked:
{% for i in play_hosts %} 
{{ i }}: Username - {{ hostvars[i].ansible_user }}, Hostname - {{ 
hostvars[i].ansible_host }}
{% endfor %}

Check if OS version is {{linuxDistribution}} version 
{{linuxDistributionVersion}}
{% for i in play_hosts %}
{% if linuxDistribution == hostvars[i].ansible_distribution and 
linuxDistributionVersion == hostvars[i].ansible_distribution_version %}
{{ i }}: Success - OS version - {{linuxDistribution}} version 
{{linuxDistributionVersion}}
{% else %}
{{ i }}: Failed - Found OS version {{ hostvars[i].ansible_distribution }} 
version {{hostvars[i].ansible_distribution_version }}against required 
{{linuxDistribution}} version {{linuxDistributionVersion}}
{% endif %}
{% endfor %} 


On Thursday, 21 July 2016 15:27:47 UTC+5:30, Kai Stian Olstad wrote:
>
> On 21.07.2016 10:11, Kai Stian Olstad wrote: 
> > On 21.07.2016 09:32, ishan jain wrote: 
> > 
> >> - I do not have extensive knowledhe of jinja2 templates and seems like 
> >> i 
> >> will have to learn a few things to create a report template 
> > 
> > It will be rewarding in the end, you can do a lot of things with 
> > jinja2 and templates. 
>
> Had some spare time at lunch and wrote a mockup to show one way to 
> accomplish this. 
>
> *Playbook:* 
> --- 
> - hosts: all 
>    tasks: 
>    - name: Check if reboot is needed 
>      stat: path=/var/run/reboot-required 
>      register: need_reboot 
>
>    - name: Generate report 
>      template: 
>        src=report.j2 
>        dest=report.txt 
>      deletate_to: localhost 
>      run_once: true 
>
>
> *report.j2:* 
> Check 1 need reboot 
> {% for i in play_hosts | sort %} 
> {{ i }}: {{ hostvars[i]['need_reboot']['stat']['exists'] | 
> ternary('Yes', 'No') }} 
> {% endfor %} 
>
> Check 2 swap used 
> {% for i in play_hosts | sort %} 
> {{ i }}: {{ hostvars[i]['ansible_memory_mb']['swap']['used'] }} MB 
> {% endfor %} 
>
>
> Not tested, so bug can exist. 
>
> -- 
> 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 ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/6652a07f-8d15-446f-878d-fdc1bf777b8b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to