Fix validate_ssh_client 73/39273/1
authorAlex Yang <yangyang1@zte.com.cn>
Mon, 14 Aug 2017 15:47:37 +0000 (23:47 +0800)
committerAlex Yang <yangyang1@zte.com.cn>
Mon, 14 Aug 2017 15:47:37 +0000 (23:47 +0800)
After the "try..finally.." statement is executed, the ssh_client is
closed by the "finally" statement. So the out.channel.in_buffer is
not readable and the testcases failed.

Change-Id: I3fbf620cb9ccee62c515b83fed9fd01238ad3262
Signed-off-by: Alex Yang <yangyang1@zte.com.cn>
snaps/openstack/tests/create_instance_tests.py

index 1ef96fd..19173d2 100644 (file)
@@ -1766,18 +1766,17 @@ def validate_ssh_client(instance_creator):
         if ssh_client:
             try:
                 out = ssh_client.exec_command('pwd')[1]
+                channel = out.channel
+                in_buffer = channel.in_buffer
+                pwd_out = in_buffer.read(1024)
+                if not pwd_out or len(pwd_out) < 10:
+                    return False
+                return True
             finally:
                 ssh_client.close()
         else:
             return False
 
-        channel = out.channel
-        in_buffer = channel.in_buffer
-        pwd_out = in_buffer.read(1024)
-        if not pwd_out or len(pwd_out) < 10:
-            return False
-        return True
-
     return False