Thanks, Roland.  The fact is, I'd like to "aggregate" (for lack of a better 
term) any debug msg output, regardless of what information the playbook is 
trying to gather.  The one I posted above is for descriptive purposes.  
Rather than have output of the playbook look like this:

PLAY [all] 
*********************************************************************

TASK [system date] 
*************************************************************
Thursday 16 September 2021  11:49:07 -0400 (0:00:00.037)       0:00:00.037 
****
changed: [host1]

TASK [print system date] 
*******************************************************
Thursday 16 September 2021  11:49:08 -0400 (0:00:00.889)       0:00:00.927 
****
ok: [host1] => {
    "msg": "Hostname is: host1 and System date is: Thu Sep 16 11:49:08 EDT 
2021"
}

PLAY [all] 
*********************************************************************

TASK [system date] 
*************************************************************
---
Thursday 16 September 2021  11:49:08 -0400 (0:00:00.059)       0:00:00.986 
****
changed: [host2]

TASK [print system date] 
*******************************************************
Thursday 16 September 2021  11:49:09 -0400 (0:00:00.965)       0:00:01.951 
****
ok: [host2] => {
    "msg": "Hostname is: host2 and System date is: Thu Sep 16 11:49:09 EDT 
2021"
}

PLAY RECAP 
*********************************************************************
~

I'd want the to look like this:

PLAY [all] 
*********************************************************************

TASK [system date] 
*************************************************************
---
Thursday 16 September 2021  11:49:08 -0400 (0:00:00.059)       0:00:00.986 
****
changed: [host1]

Thursday 16 September 2021  11:49:07 -0400 (0:00:00.037)       0:00:00.037 
****
changed: [host2]

TASK [print system date] 
*******************************************************
ok: [host1] => (item=Thu Sep 16 12:41:03 EDT 2021) => {
    "msg": "Hostname is: host1 and System date is: Thu Sep 16 12:41:03 EDT 
2021"
}

ok: [host2] => (item=Thu Sep 16 12:41:03 EDT 2021) => {
    "msg": "Hostname is: host2 and System date is: Thu Sep 16 12:41:03 EDT 
2021"
}

PLAY RECAP 
*********************************************************************
~

Is that possible?
On Thursday, September 16, 2021 at 3:46:29 PM UTC-4 [email protected] wrote:

> Hello,
>
> [email protected] schrieb am Donnerstag, 16. September 2021 um 20:26:27 
> UTC+3:
>
>> Taking, e.g., the following simple playbook:
>>
>> ---
>>
>> - hosts: all
>>   gather_facts: false
>>   serial: 1
>>
>>   tasks:
>>     - name: system date
>>       command: date
>>       register: date_out
>>
>>     - name: print system date
>>       debug:
>>         msg: "Hostname is: {{ inventory_hostname }} and System date is: 
>> {{ date_out.stdout_lines[0] }}"
>>
>> Rather than the msg output is interspersed thoughout, I'd like to 
>> aggregate all of the debug messages from the various hosts into consecutive 
>> lines, like this:
>>
>> ok: [host1] => (item=Thu Sep 16 12:41:03 EDT 2021) => {
>>     "msg": "Hostname is: host1 and System date is: Thu Sep 16 12:41:03 
>> EDT 2021"
>> }
>> ok: [host2] => (item=Thu Sep 16 12:41:03 EDT 2021) => {
>>     "msg": "Hostname is: host2 and System date is: Thu Sep 16 12:41:03 
>> EDT 2021"
>> }
>>
>> I hope I'm clear on my ask.  Is this possible and, if so, how do I do it?
>>
>> Thanks!
>>
>
> Not sure whether I'll got the point. However, using a template file you 
> could collect the fact sysdate on every host and print the hostname and all 
> sysdate in a task delegated to localhost.
>
>  ... additions to playbook ...
>     - set_fact: sysdate={{ date_out.stdout_lines[0] }}
>
>     - name: dump to /tmp/DUMP
>       template:
>         src: dump.j2
>         dest: /tmp/DUMP
>       delegate_to: localhost
>
> Template named "dump.j2" as referred in playbook. It's located in same 
> directory as the playbook.
> {% for host in ansible_play_hosts  %}
> Hostname is: {{ host }} and System date is: {{ sysdate }}
> {% endfor %}
>
> There is also a possibility to loop over the hosts in a delegated_to task, 
> but I don't remember the syntax at the moment.
>
> BR,
> Roland
>  
>

-- 
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/d04c154c-6891-49dc-a72b-ac754b3bfa8fn%40googlegroups.com.

Reply via email to