Fix unreachable host detection and have plays continue after unreachable failures

Fixes #12284
This commit is contained in:
James Cammarata 2015-09-09 15:26:40 -04:00
parent 25c97fff69
commit be7bd392cb
6 changed files with 17 additions and 11 deletions

View file

@ -28,7 +28,7 @@ import time
from six import iteritems
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable, AnsibleConnectionFailure
from ansible.playbook.conditional import Conditional
from ansible.playbook.task import Task
from ansible.template import Templar
@ -324,7 +324,10 @@ class TaskExecutor:
result['attempts'] = attempt + 1
debug("running the handler")
result = self._handler.run(task_vars=variables)
try:
result = self._handler.run(task_vars=variables)
except AnsibleConnectionFailure as e:
return dict(unreachable=True, msg=str(e))
debug("handler run complete")
if self._task.async > 0: