Feature 10910: Migration of Openstack based VM instances
[osm/RO.git] / RO-plugin / osm_ro_plugin / vimconn.py
index 50e14fa..b2ba979 100644 (file)
@@ -33,6 +33,7 @@ from io import StringIO
 import logging
 import socket
 import sys
+import traceback
 import warnings
 
 import paramiko
@@ -766,32 +767,32 @@ class VimConnector:
 
                 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
                 )
 
                 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
@@ -1077,6 +1078,15 @@ class VimConnector:
         """
         raise VimConnNotImplemented("SFC support not implemented")
 
+    def migrate_instance(self, vm_id, compute_host=None):
+        """Migrate a vdu
+        Params:
+            vm_id: ID of an instance
+            compute_host: Host to migrate the vdu to
+        Returns the vm state or raises an exception upon error
+        """
+        raise VimConnNotImplemented("Should have implemented this")
+
     # NOT USED METHODS in current version. Deprecated
     @deprecated
     def host_vim2gui(self, host, server_dict):