[stable-2.7] Add missing self._supports_async to uri action plugin (#47677)

* Add missing self._supports_async to uri action plugin. Fixes #47660

* Additional changes needed to support async

* Missed a call to execute_module
(cherry picked from commit 3633e21)

Co-authored-by: Matt Martz <matt@sivel.net>
pull/47892/head
Matt Martz 6 years ago committed by Toshio Kuratomi
parent 6cf1814105
commit 414ee4759d

@ -0,0 +1,2 @@
bugfixes:
- uri - Ensure the ``uri`` module supports async (https://github.com/ansible/ansible/issues/47660)

@ -20,6 +20,8 @@ class ActionModule(ActionBase):
TRANSFERS_FILES = True
def run(self, tmp=None, task_vars=None):
self._supports_async = True
if task_vars is None:
task_vars = dict()
@ -33,7 +35,7 @@ class ActionModule(ActionBase):
if (src and remote_src) or not src:
# everything is remote, so we just execute the module
# without changing any of the module arguments
raise _AnsibleActionDone(result=self._execute_module(task_vars=task_vars))
raise _AnsibleActionDone(result=self._execute_module(task_vars=task_vars, wrap_async=self._task.async_val))
try:
src = self._find_needle('files', src)
@ -51,9 +53,10 @@ class ActionModule(ActionBase):
)
)
result.update(self._execute_module('uri', module_args=new_module_args, task_vars=task_vars))
result.update(self._execute_module('uri', module_args=new_module_args, task_vars=task_vars, wrap_async=self._task.async_val))
except AnsibleAction as e:
result.update(e.result)
finally:
self._remove_tmp_path(self._connection._shell.tmpdir)
if not self._task.async_val:
self._remove_tmp_path(self._connection._shell.tmpdir)
return result

Loading…
Cancel
Save