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 82d468ba7fd6dce91fec015d39126e71c1434fb1)
Reviewed: https:/ /review. openstack. org/575669 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=1f76c9562be 3ec829c587473b6 d3c34cdb1233aa
Committed: https:/
Submitter: Zuul
Branch: stable/queens
commit 1f76c9562be3ec8 29c587473b6d3c3 4cdb1233aa
Author: Lucian Petrut <email address hidden>
Date: Wed Aug 9 13:50:09 2017 +0300
Windows: fix exec calls
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 paste.openstack .org/raw/ 658319/
to avoid having OpenStack bandit complaining, even though we're
explicitly passing "shell=False":
http://
Closes-Bug: #1709931
Change-Id: Ib58e12030e69ea 10862452c2f141a 7a5f2527621 91fec015d39126e 71c1434fb1)
(cherry picked from commit 82d468ba7fd6dce