# Failed Task Summary In Play Recap

**URL:** <https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700>\
**Category:** Ansible Project\
**Created:** [September 2, 2021, 5:51am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700 "2021-09-02T05:51:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jitender\_J](https://avatars.discourse-cdn.com/v4/letter/j/2bfe46/32.png) [@Jitender\_J](https://forum.ansible.com/u/Jitender_J)\
**Post date:** [September 2, 2021, 5:51am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700/1 "2021-09-02T05:51:33Z")

</div>

Hi Team,

Is there anyway/module to print each failed task error summary in play recap

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [September 2, 2021, 5:59am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700/2 "2021-09-02T05:59:19Z")

</div>

Hi,

Could you please elaborate how it will look like?

---

<div class="post-metadata">

**Author:** ![Jitender\_J](https://avatars.discourse-cdn.com/v4/letter/j/2bfe46/32.png) [@Jitender\_J](https://forum.ansible.com/u/Jitender_J)\
**Post date:** [September 2, 2021, 6:06am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700/3 "2021-09-02T06:06:45Z")

</div>

Sure …

stdout: ##### Maintainance Check #####  
CRITICAL  
154 4145 65541 871 hm

PLAY RECAP \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

Playbook Executed: smsm\_audit1.yml \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

LIST OF FAILED NODES AND TASKS WHICH FAILED ON THEM \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*

TASK=Executing Cluster Node Maintenace Check On CA:  
FAILED NODES=chi1-ca-1b  
Need error marked in red here so that I don’t need to scroll up to find error on 100 nodes everything should be there in play recap  
SERVICE FAILED ON TOTAL INSTANCES : 1

---

<div class="post-metadata">

**Author:** ![Akasurde](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/akasurde/32/230_2.png) [@Akasurde](https://forum.ansible.com/u/Akasurde)\
**Post date:** [September 2, 2021, 6:34am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700/4 "2021-09-02T06:34:18Z")

</div>

Hi Jitendar,

You need to write your callback plugin based upon the default callback plugin.

You can take inspiration from -

1. Developing callback plugin - [https://docs.ansible.com/ansible/latest/dev\_guide/developing\_plugins.html#callback-plugins](https://docs.ansible.com/ansible/latest/dev_guide/developing_plugins.html#callback-plugins)
2. You need to override the method mentioned here to include your business logic - [https://github.com/ansible/ansible/blob/90518d8bb5b82827829e364696c326e31c6b3c74/lib/ansible/plugins/callback/default.py#L78](https://github.com/ansible/ansible/blob/90518d8bb5b82827829e364696c326e31c6b3c74/lib/ansible/plugins/callback/default.py#L78)
3. This is an example blog post for writing your own callback plugin - [https://purnapoudel.blogspot.com/2020/10/how-to-write-ansible-callback-plugin.html](https://purnapoudel.blogspot.com/2020/10/how-to-write-ansible-callback-plugin.html) (not tested by me, but looks ok to me)

---

<div class="post-metadata">

**Author:** ![Jitender\_J](https://avatars.discourse-cdn.com/v4/letter/j/2bfe46/32.png) [@Jitender\_J](https://forum.ansible.com/u/Jitender_J)\
**Post date:** [September 2, 2021, 6:37am UTC](https://forum.ansible.com/t/failed-task-summary-in-play-recap/35700/5 "2021-09-02T06:37:56Z")

</div>

Ok … thanks
