# local\_action when unreachable.

**URL:** <https://forum.ansible.com/t/local-action-when-unreachable/25173>\
**Category:** Ansible Project\
**Created:** [August 3, 2017, 1:02pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173 "2017-08-03T13:02:56Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![William\_McKenzie](https://avatars.discourse-cdn.com/v4/letter/w/f14d63/32.png) [@William\_McKenzie](https://forum.ansible.com/u/William_McKenzie)\
**Post date:** [August 3, 2017, 1:02pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/1 "2017-08-03T13:02:56Z")

</div>

Seems like this should be pretty simple, but I can’t seem to find a way to do it. Is there some way to perform a local\_action whenever a target is unreachable? I just want to post to a slack channel if ping fails.

~Bill

---

<div class="post-metadata">

**Author:** ![Nick\_Kakouros](https://avatars.discourse-cdn.com/v4/letter/n/d26b3c/32.png) [@Nick\_Kakouros](https://forum.ansible.com/u/Nick_Kakouros)\
**Post date:** [August 3, 2017, 7:01pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/2 "2017-08-03T19:01:48Z")

</div>

You could probably do this with sth like this:

(in a playbook)

- host: unreachable\_host  
gather\_facts: false  
pre\_tasks:

- block:

- name: Gathering facts  
setup:  
rescue:

- name: local task  
debug:  
msg: …

---

<div class="post-metadata">

**Author:** ![William\_McKenzie](https://avatars.discourse-cdn.com/v4/letter/w/f14d63/32.png) [@William\_McKenzie](https://forum.ansible.com/u/William_McKenzie)\
**Post date:** [August 4, 2017, 12:13pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/3 "2017-08-04T12:13:22Z")

</div>

Don’t think so. If a host unreachable, rescue never happens.

---

<div class="post-metadata">

**Author:** ![William\_McKenzie](https://avatars.discourse-cdn.com/v4/letter/w/f14d63/32.png) [@William\_McKenzie](https://forum.ansible.com/u/William_McKenzie)\
**Post date:** [August 4, 2017, 3:45pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/4 "2017-08-04T15:45:31Z")

</div>

OK, this works: you store the results, clear errors on hosts and look for problem children.

`

---

<div class="post-metadata">

**Author:** ![Kai\_Stian\_Olstad](https://avatars.discourse-cdn.com/v4/letter/k/e19adc/32.png) [@Kai\_Stian\_Olstad](https://forum.ansible.com/u/Kai_Stian_Olstad)\
**Post date:** [August 4, 2017, 4:29pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/5 "2017-08-04T16:29:16Z")

</div>

It will only work if at least one host is reachable, but that's probably good enough.

By the way, you don't need your two block: since they only have one task each.

---

<div class="post-metadata">

**Author:** ![William\_McKenzie](https://avatars.discourse-cdn.com/v4/letter/w/f14d63/32.png) [@William\_McKenzie](https://forum.ansible.com/u/William_McKenzie)\
**Post date:** [August 4, 2017, 5:18pm UTC](https://forum.ansible.com/t/local-action-when-unreachable/25173/6 "2017-08-04T17:18:03Z")

</div>

Thanks. Yes, I had the blocks there because I had been playing with the rescue approach earlier.
