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:
Matt Martz 2019-03-07 09:28:44 -06:00 committed by GitHub
parent 72eb8672bf
commit 264d9a9008
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 1 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- async_wrapper - Allocate an explicit stdin (https://github.com/ansible/ansible/issues/50758)

View file

@ -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:

View file

@ -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