You may try the attached playbook i am using for linux, windows will be similar as well. The report will be in html format
Vào Th 4, 8 thg 11, 2023 vào lúc 22:22 Dimitri Yioulos < [email protected]> đã viết: > Vladimir, this is very good, and very appreciated. Your playbook looks for > hosts that are pingable, and marks them as not unreachable. But, my goal > is to see if hosts are Ansible-pingable (not ICMP-pingable; I believe > there's a difference) or not, then take *all* of the output, and create a > report from it. Thus, i end up with a report of hosts that are either > Ansible-pingable or not. > > On Tuesday, November 7, 2023 at 2:15:30 PM UTC-5 Vladimir Botka wrote: > >> Sure, here is the gist >> https://gist.github.com/vbotka/10c57962976dd1e2dd3e9411d3745c75 >> >> (Is it possible to reasonably format a code in Google Groups?) >> On Tuesday, November 7, 2023 at 6:55:50 PM UTC+1 dbs34 wrote: >> >>> would you mind sharing the whole, newly updated playbook? thank you! >>> >>> On Monday, November 6, 2023 at 2:58:31 PM UTC-5 Vladimir Botka wrote: >>> >>>> On Fri, 3 Nov 2023 08:40:19 -0700 (PDT) >>>> Dimitri Yioulos <[email protected]> wrote: >>>> >>>> > --- PING REPORT --- >>>> > {% for pr in ping_result.results %} >>>> > {{ pr.stdout_lines | first }} >>>> > {{ pr.stdout_lines | last }} >>>> > >>>> > {% endfor %} >>>> > run_once: true >>>> > delegate_to: localhost >>>> > >>>> > That works fine. However, I want to use ansible.builtin.ping ... >>>> >>>> >>>> Ignore unreachable hosts in a block >>>> >>>> - block: >>>> - ping: >>>> register: out >>>> - set_fact: >>>> unr: "{{ out.unreachable|d(false) }}" >>>> ignore_unreachable: true >>>> >>>> and declare the dictionary >>>> >>>> h_unr: "{{ dict(ansible_play_hosts_all| >>>> zip(ansible_play_hosts_all| >>>> map('extract', hostvars, 'unr'))) }}" >>>> >>>> For example, the below play >>>> >>>> - hosts: test_01,test_05,test_06,test_07 >>>> gather_facts: false >>>> >>>> vars: >>>> >>>> h_unr: "{{ dict(ansible_play_hosts_all| >>>> zip(ansible_play_hosts_all| >>>> map('extract', hostvars, 'unr'))) }}" >>>> >>>> tasks: >>>> >>>> - block: >>>> - ping: >>>> register: out >>>> - set_fact: >>>> unr: "{{ out.unreachable|d(false) }}" >>>> ignore_unreachable: true >>>> >>>> - debug: >>>> var: h_unr >>>> run_once: true >>>> delegate_to: localhost >>>> >>>> gives (abridged) >>>> >>>> ok: [test_01 -> localhost] => >>>> h_unr: >>>> test_01: false >>>> test_05: true >>>> test_06: true >>>> test_07: true >>>> >>>> -- >>>> Vladimir Botka >>>> >>> -- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/ansible-project/47bbdd8e-7b5f-4dfc-ac60-375a532a9adbn%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/47bbdd8e-7b5f-4dfc-ac60-375a532a9adbn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/CA%2BnV637NJgVD2dmR15fdUHf6eGfdM%2B-AZxao_S6fPEeu-%3D0mxA%40mail.gmail.com.
exportreport.yml
Description: Binary data
linux_ping.j2
Description: Binary data
general.yml
Description: Binary data
createreport.yml
Description: Binary data
Daily_LinuxPing.yml
Description: Binary data
