Просмотр исходного кода

added a try-block to catch the SSH error

Golubov 2 лет назад
Родитель
Сommit
4a09421fcd
1 измененных файлов с 9 добавлено и 5 удалено
  1. 9 5
      coriolis/providers/replicator.py

+ 9 - 5
coriolis/providers/replicator.py

@@ -16,7 +16,7 @@ import requests
 
 from coriolis import exception
 from coriolis import utils
-
+from coriolis.exception import NotAuthorized
 
 LOG = logging.getLogger(__name__)
 
@@ -470,10 +470,13 @@ class Replicator(object):
         """
         gets a paramiko SSH client
         """
-        ssh = paramiko.SSHClient()
-        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
-        ssh.connect(**args)
-        return ssh
+        try:
+            ssh = paramiko.SSHClient()
+            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+            ssh.connect(**args)
+            return ssh
+        except paramiko.ssh_exception.SSHException as ex:
+            raise NotAuthorized("Failed to setup SSH client: %s" % str(ex))
 
     def _parse_source_ssh_conn_info(self, conn_info):
         # if we get valid SSH connection info we can
@@ -507,6 +510,7 @@ class Replicator(object):
             "password": password,
             "pkey": pkey,
             "port": port,
+            "banner_timeout": CONF.replicator.default_requests_timeout,
         }
         return args