It looks like I need to use a template for the task. But saving the screen 
output for the playbook run should be a very common task. Hope someone can 
write a module for doing this.

>>You have an invalid character in your group name, by the way. Change the 
dash to an underscore (probably).
Yeah, you're correct.

Thanks.

Frank

On Tuesday, December 6, 2022 at 4:13:36 PM UTC-5 [email protected] wrote:

> You could change your dest to
>     dest: "/tmp/file-{{ inventory_hostname }}.txt"
> and concatenate them all, but then they won't contain the host names.
> If you don't like that, then you could register the ping results and loop 
> through them with a template…
>
> You have an invalid character in your group name, by the way. Change the 
> dash to an underscore (probably).
>
> On Tuesday, December 6, 2022 at 3:34:47 PM UTC-5 [email protected] 
> wrote:
>
>> >>What makes it weird?
>> I wanted to save the ansible ping results to /tmp/file.txt so I can email 
>> out the result.
>>
>> After running the playbook, I just got following saved in /tmp/file.txt:
>>
>> {"ping": "pong", "failed": false, "changed": false}
>>
>> >>What were you expecting instead?
>>
>> I added a few lines in the playbook as:
>>
>> ---
>> - hosts: test-vms 
>>   tasks:
>>     - name: Ping vms in test-vms
>>       ansible.builtin.ping: 
>>       register: ping_pong
>>       ignore_errors: True
>>
>>     - name: Ping result
>>       ansible.builtin.ping:
>>       register: ping_screen
>>
>>     - name: Ping the result to the screen
>>       ansible.builtin.debug:
>>          var: ping_screen
>>
>>
>>
>>     - name: Copy the output result to /tmp/file.txt 
>>       ansible.builtin.copy: 
>>           content: "{{ ping_pong }}"
>>           dest: /tmp/file.txt
>>
>> When I ran it, the ping result would show on the screen as following and 
>> I would like to save following result to /tmp/file.txt:
>>
>> ...
>>
>> TASK [Ping the result to the screen] 
>> ***********************************************************************************
>> ok: [test-vm01] => {
>>     "ping_screen": {
>>         "changed": false,
>>         "failed": false,
>>         "ping": "pong"
>>     }
>> }
>> ok: [test-vm02] => {
>>     "ping_screen": {
>>         "changed": false,
>>         "failed": false,
>>         "ping": "pong"
>>     }
>> }
>> ok: [test-vm03] => {
>>     "ping_screen": {
>>         "changed": false,
>>         "failed": false,
>>         "ping": "pong"
>>     }
>> }
>>
>> ....
>>
>>
>>
>>
>> On Tuesday, December 6, 2022 at 3:21:44 PM UTC-5 Matt Martz wrote:
>>
>>> Also, it helps when you clarify what you want to see, instead of "I got 
>>> this weird result".
>>>
>>> What makes it weird?  What were you expecting instead?
>>>
>>> On Tue, Dec 6, 2022 at 2:09 PM Frank Ling <[email protected]> wrote:
>>>
>>>> Thanks for the reply.
>>>>
>>>> >> You're saving the result for each host to the same file.
>>>> Yeah, you're right. I am not sure how to save the output in Ansible to 
>>>> the output in a file like in shell >> /tmp/file 
>>>>
>>>> >>And there is something weird with the inventory you use...
>>>> I had the inventory in /etc/ansible/hosts with:
>>>>
>>>> [test-vms]
>>>> test-vm01
>>>> test-vm02
>>>> test-vm03
>>>>  Frank
>>>>
>>>> On Tuesday, December 6, 2022 at 3:00:48 PM UTC-5 [email protected] 
>>>> wrote:
>>>>
>>>>> Several things here. 
>>>>> You're saving the result for each host to the same file. So you will 
>>>>> end up with just one result, from the last host.
>>>>> And there is something weird with the inventory you use. Follow the 
>>>>> suggestion made by the code (use increased verbosity). 
>>>>>
>>>>>
>>>>>
>>>>> On Tue, 6 Dec 2022 at 20:54, Frank Ling <[email protected]> wrote:
>>>>>
>>>>>> I need some helps for fixing the bug of saving the Ansible ping 
>>>>>> results to a local file. 
>>>>>>
>>>>>> Appreciate your help. 
>>>>>>
>>>>>> Thanks in advance.
>>>>>>
>>>>>> Frank
>>>>>>
>>>>>> After running the playbook, I got this weird result:
>>>>>>
>>>>>> cat /tmp/file.txt
>>>>>>
>>>>>> {"ping": "pong", "failed": false, "changed": false}
>>>>>>
>>>>>> ============================================
>>>>>>
>>>>>> Here is the playbook:
>>>>>>
>>>>>> ---
>>>>>> - hosts: test-vms 
>>>>>>   tasks:
>>>>>>     - name: Ping vms in test-vms
>>>>>>       ansible.builtin.ping: 
>>>>>>          register: ping_pong
>>>>>>          ignore_errors: True
>>>>>>
>>>>>>     - name: Copy the output result to /tmp/file.txt 
>>>>>>       ansible.builtin.copy: 
>>>>>>           content: "{{ ping_pong }}"
>>>>>>           dest: /tmp/file.txt
>>>>>>
>>>>>> ===================================================
>>>>>>
>>>>>> $ ansible-playbook ping_email.yml
>>>>>> [WARNING]: Invalid characters were found in group names but not 
>>>>>> replaced, use -vvvv to see details
>>>>>> [WARNING]: Found both group and host with same name: localhost
>>>>>>
>>>>>> PLAY [test-vms] 
>>>>>> ********************************************************************************************************
>>>>>>
>>>>>> TASK [Gathering Facts] 
>>>>>> *************************************************************************************************
>>>>>> ok: [test-vm03]
>>>>>> ok: [test-vm02]
>>>>>> ok: [test-vm01]
>>>>>>
>>>>>> TASK [Ping vms in test-vms] 
>>>>>> ********************************************************************************************
>>>>>> ok: [test-vm03]
>>>>>> ok: [test-vm02]
>>>>>> ok: [test-vm01]
>>>>>>
>>>>>> TASK [Copy the output result to /tmp/file.txt] 
>>>>>> *************************************************************************
>>>>>> changed: [test-vm01]
>>>>>> changed: [test-vm02]
>>>>>> changed: [test-vm03]
>>>>>>
>>>>>> PLAY RECAP 
>>>>>> *************************************************************************************************************
>>>>>> test-vm01                  : ok=3    changed=1    unreachable=0   
>>>>>>  failed=0    skipped=0    rescued=0    ignored=0   
>>>>>> test-vm02                  : ok=3    changed=1    unreachable=0   
>>>>>>  failed=0    skipped=0    rescued=0    ignored=0   
>>>>>> test-vm03                  : ok=3    changed=1    unreachable=0   
>>>>>>  failed=0    skipped=0    rescued=0    ignored=0 
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> 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/15123a9a-fc1c-4b8b-8a0a-2f24cf9a06a6n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/ansible-project/15123a9a-fc1c-4b8b-8a0a-2f24cf9a06a6n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>>> Sent from Gmail Mobile
>>>>>
>>>> -- 
>>>> 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/783f270f-bf70-4614-9c16-94ba281bd33an%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/ansible-project/783f270f-bf70-4614-9c16-94ba281bd33an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>
>>>
>>> -- 
>>> Matt Martz
>>> @sivel
>>> sivel.net
>>>
>>

-- 
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/c327b598-6cff-46c5-8349-8a528f3fe924n%40googlegroups.com.

Reply via email to