summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordongwenjuan <dong.wenjuan@zte.com.cn>2018-08-08 17:18:41 +0800
committerdongwenjuan <dong.wenjuan@zte.com.cn>2018-08-09 14:02:51 +0800
commit7b73fe24ce63e36dea924164c98e0a15fd1d7684 (patch)
tree7f1a722c38347fb7c8fb52adb9e49a2babf8f317
parent0f607cb5efd91ee497346b7f792dfa844d15595c (diff)
bugfix: kill the stunnel when cleanup
Popen.terminate() will kill the child process, but if you set the shell argument to True, this is the process ID of the spawned shell, so the stunnels are still exit.It will cause the failure of stunnel setup in the next test runtime. see: https://stackoverflow.com/questions/4789837/how-to-terminate-a-python-subprocess-launched-with-shell-true/4791612#4791612 Change-Id: I578611510f5bd1eb0dbd9a08ab408ccf101594f7 Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
-rw-r--r--doctor_tests/installer/base.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/doctor_tests/installer/base.py b/doctor_tests/installer/base.py
index f312130a..f37b7f1a 100644
--- a/doctor_tests/installer/base.py
+++ b/doctor_tests/installer/base.py
@@ -64,16 +64,15 @@ class BaseInstaller(object):
" -o StrictHostKeyChecking=no"
" -i %s %s@%s -R %s:localhost:%s"
" sleep 600 > ssh_tunnel.%s"
- " 2>&1 < /dev/null &"
+ " 2>&1 < /dev/null "
% (self.key_file,
self.node_user_name,
node_ip,
self.conf.consumer.port,
self.conf.consumer.port,
node_ip))
- server = subprocess.Popen(cmd, shell=True)
+ server = subprocess.Popen('exec ' + cmd, shell=True)
self.servers.append(server)
- server.communicate()
def _get_ssh_key(self, client, key_path):
self.log.info('Get SSH keys from %s installer......'