moved to exceptions for basic skip/fails

better handling of checkmode and async
fix test to follow new flow control
This commit is contained in:
Brian Coca 2017-04-21 16:17:12 -04:00 committed by Brian Coca
parent a3a970180a
commit e29dc49a49
12 changed files with 30 additions and 43 deletions

View file

@ -25,7 +25,7 @@ import time
import traceback
from ansible import constants as C
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable, AnsibleConnectionFailure
from ansible.errors import AnsibleError, AnsibleParserError, AnsibleUndefinedVariable, AnsibleConnectionFailure, AnsibleActionFail, AnsibleActionSkip
from ansible.executor.task_result import TaskResult
from ansible.module_utils.six import iteritems, string_types, binary_type
from ansible.module_utils._text import to_text
@ -526,6 +526,10 @@ class TaskExecutor:
display.debug("running the handler")
try:
result = self._handler.run(task_vars=variables)
except AnsibleActionSkip as e:
return dict(skipped=True, msg=to_text(e))
except AnsibleActionFail as e:
return dict(failed=True, msg=to_text(e))
except AnsibleConnectionFailure as e:
return dict(unreachable=True, msg=to_text(e))
display.debug("handler run complete")