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.