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.

Attachment: exportreport.yml
Description: Binary data

Attachment: linux_ping.j2
Description: Binary data

Attachment: general.yml
Description: Binary data

Attachment: createreport.yml
Description: Binary data

Attachment: Daily_LinuxPing.yml
Description: Binary data

Reply via email to