[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>
This commit is contained in:
parent
6cf1814105
commit
414ee4759d
2 changed files with 8 additions and 3 deletions
2
changelogs/fragments/uri-supports-async.yaml
Normal file
2
changelogs/fragments/uri-supports-async.yaml
Normal file
|
@ -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…
Reference in a new issue