Extracting stage releasenotes script from stage-test.sh
[osm/RO.git] / RO-plugin / osm_ro_plugin / vimconn.py
index 0b78013..3e6d29c 100644 (file)
@@ -33,6 +33,7 @@ from io import StringIO
 import logging
 import socket
 import sys
+import traceback
 import warnings
 
 import paramiko
@@ -756,6 +757,12 @@ class VimConnector:
                 "chmod 644 ~/.ssh/authorized_keys",
                 "chmod 700 ~/.ssh/",
             }
+
+            logging.basicConfig(
+                format="%(asctime)s %(levelname)s %(name)s %(filename)s:%(lineno)s %(message)s"
+            )
+            logging.getLogger("paramiko").setLevel(logging.DEBUG)
+
             client = paramiko.SSHClient()
 
             try:
@@ -765,33 +772,39 @@ class VimConnector:
                     pkey = None
 
                 client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+
                 client.connect(
-                    ip_addr, username=user, password=password, pkey=pkey, timeout=10
+                    ip_addr,
+                    username=user,
+                    password=password,
+                    pkey=pkey,
+                    timeout=30,
+                    auth_timeout=60,
                 )
 
                 for command in commands:
-                    (i, o, e) = client.exec_command(command, timeout=10)
+                    (i, o, e) = client.exec_command(command, timeout=30)
                     returncode = o.channel.recv_exit_status()
                     outerror = e.read()
 
                     if returncode != 0:
                         text = "run_command='{}' Error='{}'".format(command, outerror)
+                        self.logger.debug(traceback.format_tb(e.__traceback__))
                         raise VimConnUnexpectedResponse(
                             "Cannot inject ssh key in VM: '{}'".format(text)
                         )
-
                         return
             except (
                 socket.error,
                 paramiko.AuthenticationException,
                 paramiko.SSHException,
             ) as message:
+                self.logger.debug(traceback.format_exc())
                 raise VimConnUnexpectedResponse(
                     "Cannot inject ssh key in VM: '{}' - {}".format(
                         ip_addr, str(message)
                     )
                 )
-
                 return
 
     # Optional methods