a4f91358a0
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
(cherry picked from commit
|
||
---|---|---|
.. | ||
__init__.py | ||
ip_lib.py | ||
polling.py | ||
utils.py |