From 8c46f29b096c002d47bb497cb3b74c38206ddf45 Mon Sep 17 00:00:00 2001 From: Nicolas KAROLAK <nicolas@karolak.fr> Date: Fri, 20 Apr 2018 09:04:30 +0200 Subject: [PATCH] fix ssh diag on error --- tests/test_backup.py | 11 ++++++----- tests/test_mediaworker.py | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/tests/test_backup.py b/tests/test_backup.py index d95ba357..37cd11ca 100755 --- a/tests/test_backup.py +++ b/tests/test_backup.py @@ -31,17 +31,18 @@ def test_ssh(ip): cmd = 'ssh -o StrictHostKeyChecking=no -o PasswordAuthentication=no %s ls /tmp' % ip print('Connecting to MediaVault: %s' % cmd) try: - subprocess.check_output(cmd, shell=True, timeout=2) + subprocess.check_output(cmd, shell=True, timeout=5) print('%sLogged in successfully%s' % (GREEN, DEF)) except subprocess.CalledProcessError: - # do some diagnostics + print('%sFailed to login using SSH, run ssh-copy-id %s %s' % (RED, ip, DEF)) + return False + except subprocess.TimeoutExpired: try: cmd_port = 'nc -z -w2 {} 22'.format(ip) subprocess.check_output(cmd_port, shell=True, timeout=5) - except subprocess.CalledProcessError: + except Exception: cmd_ping = 'ping -c2 -w4 {}'.format(ip) - subprocess.check_output(cmd_ping, shell=True, timeout=5) - print('%sFailed to login using SSH, run ssh-copy-id %s %s' % (RED, ip, DEF)) + subprocess.check_output(cmd_ping, shell=True, timeout=15) return False return True diff --git a/tests/test_mediaworker.py b/tests/test_mediaworker.py index fbeb064c..3d04a30c 100755 --- a/tests/test_mediaworker.py +++ b/tests/test_mediaworker.py @@ -40,14 +40,15 @@ def check_ssh(ip): subprocess.check_output(cmd, shell=True, timeout=5) print('%sLogged in successfully in "%s".%s' % (GREEN, ip, DEF)) except subprocess.CalledProcessError: - # do some diagnostics + print('%sFailed to login using SSH, run "ssh-copy-id %s".%s' % (RED, ip, DEF)) + return False + except subprocess.TimeoutExpired: try: cmd_port = 'nc -z -w2 {} 22'.format(ip) subprocess.check_output(cmd_port, shell=True, timeout=5) - except subprocess.CalledProcessError: + except Exception: cmd_ping = 'ping -c2 -w4 {}'.format(ip) - subprocess.check_output(cmd_ping, shell=True, timeout=5) - print('%sFailed to login using SSH, run "ssh-copy-id %s".%s' % (RED, ip, DEF)) + subprocess.check_output(cmd_ping, shell=True, timeout=15) return False return True -- GitLab