Allocate an explicit stdin in async_wrapper (#53410)
* add changelog fragment * Add stdin async test * Allocate an explicit stdin in async_wrapper. Fixes #50758
This commit is contained in:
parent
72eb8672bf
commit
264d9a9008
3 changed files with 10 additions and 1 deletions
2
changelogs/fragments/async-wrapper-stdin.yaml
Normal file
2
changelogs/fragments/async-wrapper-stdin.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- async_wrapper - Allocate an explicit stdin (https://github.com/ansible/ansible/issues/50758)
|
|
@ -148,7 +148,8 @@ def _run_module(wrapped_cmd, jid, job_path):
|
||||||
interpreter = _get_interpreter(cmd[0])
|
interpreter = _get_interpreter(cmd[0])
|
||||||
if interpreter:
|
if interpreter:
|
||||||
cmd = interpreter + cmd
|
cmd = interpreter + cmd
|
||||||
script = subprocess.Popen(cmd, shell=False, stdin=None, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
script = subprocess.Popen(cmd, shell=False, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.PIPE)
|
||||||
|
|
||||||
(outdata, stderr) = script.communicate()
|
(outdata, stderr) = script.communicate()
|
||||||
if PY3:
|
if PY3:
|
||||||
|
|
|
@ -280,3 +280,9 @@
|
||||||
file:
|
file:
|
||||||
path: '{{ custom_async_tmp }}'
|
path: '{{ custom_async_tmp }}'
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
|
- name: Test that async has stdin
|
||||||
|
command: >
|
||||||
|
{{ ansible_python_interpreter|default('/usr/bin/python') }} -c 'import os; os.fdopen(os.dup(0), "r")'
|
||||||
|
async: 1
|
||||||
|
poll: 1
|
||||||
|
|
Loading…
Reference in a new issue