82d468ba7f
At some point, we've switched to an alternative process launcher that uses named pipes to communicate with the child processes. This implementation has some issues, truncating the process output in some situations. This change switches back to subprocess.Popen, which is a much easier and convenient way to perform exec calls. We're also ensuring that the os module is not patched (which would cause subprocess.Popen to fail on Windows due to an eventlet limitation, the reason why the above mentioned implementation was first introduced). We're also ensuring that such calls do not block other greenthreads by leveraging eventlet.tpool. Side note: I had to store subprocess.Popen in a variable in order to avoid having OpenStack bandit complaining, even though we're explicitly passing "shell=False": http://paste.openstack.org/raw/658319/ Closes-Bug: #1709931 Change-Id: Ib58e12030e69ea10862452c2f141a7a5f2527621 |
||
---|---|---|
.. | ||
__init__.py | ||
ip_lib.py | ||
polling.py | ||
utils.py |