summaryrefslogtreecommitdiff
path: root/lib/ansible/plugins
diff options
context:
space:
mode:
authorBrian Coca <brian.coca+git@gmail.com>2017-04-19 11:35:25 -0400
committerBrian Coca <brian.coca+git@gmail.com>2017-04-20 18:03:21 -0400
commit1fdeef511c274a75bf5184f6d6dcac95773fce28 (patch)
tree9e17dab1263e84d238e20a6aec948d78d033e808 /lib/ansible/plugins
parentbc990004e1252395f5358946316a73064d7a8fd2 (diff)
downloadansible-1fdeef511c274a75bf5184f6d6dcac95773fce28.tar.gz
finer grained failed/skipped on async for actions
fixes #23729 (cherry picked from commit 3965689328a97471afd21a3cdeabdd7c56d83a42)
Diffstat (limited to 'lib/ansible/plugins')
-rw-r--r--lib/ansible/plugins/action/__init__.py8
-rw-r--r--lib/ansible/plugins/action/add_host.py2
-rw-r--r--lib/ansible/plugins/action/assemble.py2
-rw-r--r--lib/ansible/plugins/action/copy.py2
-rw-r--r--lib/ansible/plugins/action/package.py2
-rw-r--r--lib/ansible/plugins/action/service.py2
6 files changed, 9 insertions, 9 deletions
diff --git a/lib/ansible/plugins/action/__init__.py b/lib/ansible/plugins/action/__init__.py
index bd66d52ca0..4782b0bb7d 100644
--- a/lib/ansible/plugins/action/__init__.py
+++ b/lib/ansible/plugins/action/__init__.py
@@ -90,17 +90,17 @@ class ActionBase(with_metaclass(ABCMeta, object)):
* Module parameters. These are stored in self._task.args
"""
- result = {'skipped': True}
+ result = {}
if self._task.async and not self._supports_async:
result['msg'] = 'async is not supported for this task.'
+ result['failed'] = True
elif self._play_context.check_mode and not self._supports_check_mode:
result['msg'] = 'check mode is not supported for this task.'
+ result['skipped'] = True
elif self._task.async and self._play_context.check_mode:
result['msg'] = 'check mode and async cannot be used on same task.'
- else:
- # we run!
- del result['skipped']
+ result['failed'] = True
return result
diff --git a/lib/ansible/plugins/action/add_host.py b/lib/ansible/plugins/action/add_host.py
index b253c22865..6531d5b320 100644
--- a/lib/ansible/plugins/action/add_host.py
+++ b/lib/ansible/plugins/action/add_host.py
@@ -46,7 +46,7 @@ class ActionModule(ActionBase):
result = super(ActionModule, self).run(tmp, task_vars)
- if result.get('skipped', False):
+ if result.get('skipped', False) or result.get('failed', False):
return result
# Parse out any hostname:port patterns
diff --git a/lib/ansible/plugins/action/assemble.py b/lib/ansible/plugins/action/assemble.py
index 1121bb937f..9000db9f58 100644
--- a/lib/ansible/plugins/action/assemble.py
+++ b/lib/ansible/plugins/action/assemble.py
@@ -84,7 +84,7 @@ class ActionModule(ActionBase):
result = super(ActionModule, self).run(tmp, task_vars)
- if result.get('skipped', False):
+ if result.get('skipped', False) or result.get('failed', False):
return result
if task_vars is None:
diff --git a/lib/ansible/plugins/action/copy.py b/lib/ansible/plugins/action/copy.py
index 3395ec39f8..02cd2d55cd 100644
--- a/lib/ansible/plugins/action/copy.py
+++ b/lib/ansible/plugins/action/copy.py
@@ -40,7 +40,7 @@ class ActionModule(ActionBase):
result = super(ActionModule, self).run(tmp, task_vars)
- if result.get('skipped'):
+ if result.get('skipped', False) or result.get('failed', False):
return result
source = self._task.args.get('src', None)
diff --git a/lib/ansible/plugins/action/package.py b/lib/ansible/plugins/action/package.py
index d3062866d4..6a69bbceb9 100644
--- a/lib/ansible/plugins/action/package.py
+++ b/lib/ansible/plugins/action/package.py
@@ -38,7 +38,7 @@ class ActionModule(ActionBase):
result = super(ActionModule, self).run(tmp, task_vars)
- if result.get('skipped', False):
+ if result.get('skipped', False) or result.get('failed', False):
return result
module = self._task.args.get('use', 'auto')
diff --git a/lib/ansible/plugins/action/service.py b/lib/ansible/plugins/action/service.py
index dd521e1b67..7e2921ff2a 100644
--- a/lib/ansible/plugins/action/service.py
+++ b/lib/ansible/plugins/action/service.py
@@ -37,7 +37,7 @@ class ActionModule(ActionBase):
result = super(ActionModule, self).run(tmp, task_vars)
- if result.get('skipped', False):
+ if result.get('skipped', False) or result.get('failed', False):
return result
module = self._task.args.get('use', 'auto').lower()