[dts] [PATCH 1/7] framework: support close ssh session without logout

Marvin Liu yong.liu at intel.com
Thu Jul 14 15:17:27 CEST 2016


Session may not avaiable to logout like migration done.
Add paramter to close connection forcely without logout action.

Signed-off-by: Marvin Liu <yong.liu at intel.com>

diff --git a/framework/ssh_connection.py b/framework/ssh_connection.py
index 9f1aee1..edb8170 100644
--- a/framework/ssh_connection.py
+++ b/framework/ssh_connection.py
@@ -72,8 +72,8 @@ class SSHConnection(object):
         self.logger.debug(out)
         return out
 
-    def close(self):
-        self.session.close()
+    def close(self, force=False):
+        self.session.close(force)
         connection = {}
         connection[self.name] = self.session
         try:
diff --git a/framework/ssh_pexpect.py b/framework/ssh_pexpect.py
index f0348b6..1abf8a1 100644
--- a/framework/ssh_pexpect.py
+++ b/framework/ssh_pexpect.py
@@ -129,9 +129,12 @@ class SSHPexpect(object):
         output.replace("[PEXPECT]", "")
         return output
 
-    def close(self):
-        if self.isalive():
-            self.session.logout()
+    def close(self, force=False):
+        if force is True:
+            self.session.close()
+        else:
+            if self.isalive():
+                self.session.logout()
 
     def isalive(self):
         return self.session.isalive()
diff --git a/framework/virt_dut.py b/framework/virt_dut.py
index cc86827..0010e08 100644
--- a/framework/virt_dut.py
+++ b/framework/virt_dut.py
@@ -75,12 +75,12 @@ class VirtDut(DPDKdut):
     def init_log(self):
         self.logger.config_suite(self.host_dut.test_classname, 'virtdut')
 
-    def close(self):
+    def close(self, force=False):
         if self.session:
-            self.session.close()
+            self.session.close(force)
             self.session = None
         if self.alt_session:
-            self.alt_session.close()
+            self.alt_session.close(force)
             self.alt_session = None
         RemoveNicObj(self)
 
-- 
1.9.3



More information about the dts mailing list