From ee019d830260a80299bd5afc734a18df37edb3b2 Mon Sep 17 00:00:00 2001
From: Vincenzo Maffione <v.maffione@gmail.com>
Date: Wed, 12 Apr 2017 16:11:51 +0200
Subject: ssh_support: print both stdout and stderr for ssh commands

---
 rumba/ssh_support.py | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/rumba/ssh_support.py b/rumba/ssh_support.py
index ad32d13..34e65e0 100644
--- a/rumba/ssh_support.py
+++ b/rumba/ssh_support.py
@@ -27,6 +27,13 @@ def get_ssh_client():
 
     return ssh_client
 
+def _print_stream(stream):
+        o = str(stream.read()).strip('b\'\"\\n')
+        if o != "":
+            o_array = o.split('\\n')
+            for oi in o_array:
+                print(oi)
+
 def execute_commands(testbed, ssh_config, commands, time_out=3):
     '''
     Remote execution of a list of shell command on hostname. By
@@ -49,12 +56,8 @@ def execute_commands(testbed, ssh_config, commands, time_out=3):
                            look_for_keys=True, timeout=time_out)
         for command in commands:
             stdin, stdout, stderr = ssh_client.exec_command(command)
-            del stdin, stdout
-            err = str(stderr.read()).strip('b\'\"\\n')
-            if err != "":
-                err_array = err.split('\\n')
-                for erra in err_array:
-                    print(erra)
+            _print_stream(stdout)
+            _print_stream(stderr)
         ssh_client.close()
 
     except Exception as e:
-- 
cgit v1.2.3


From 658fdeca73429bc115ac5134d987692157f9f28a Mon Sep 17 00:00:00 2001
From: Vincenzo Maffione <v.maffione@gmail.com>
Date: Wed, 12 Apr 2017 16:14:06 +0200
Subject: ssh_support: print each SSH command executed

---
 rumba/ssh_support.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rumba/ssh_support.py b/rumba/ssh_support.py
index 34e65e0..4fc9b3c 100644
--- a/rumba/ssh_support.py
+++ b/rumba/ssh_support.py
@@ -49,12 +49,12 @@ def execute_commands(testbed, ssh_config, commands, time_out=3):
     ssh_client = get_ssh_client()
 
     try:
-        #print("Connecting to %s@%s:%s (pwd=%s)" % (testbed.username,
-        #        ssh_config.hostname, ssh_config.port, testbed.password))
         ssh_client.connect(ssh_config.hostname, ssh_config.port,
                            testbed.username, testbed.password,
                            look_for_keys=True, timeout=time_out)
         for command in commands:
+            print("%s@%s:%s >> %s" % (testbed.username,
+                    ssh_config.hostname, ssh_config.port, command))
             stdin, stdout, stderr = ssh_client.exec_command(command)
             _print_stream(stdout)
             _print_stream(stderr)
-- 
cgit v1.2.3


From 0c23d2434138a203c48c239b36e3f5fe45276672 Mon Sep 17 00:00:00 2001
From: Vincenzo Maffione <v.maffione@gmail.com>
Date: Wed, 12 Apr 2017 16:21:45 +0200
Subject: ssh_support: simplify execute_command

---
 rumba/ssh_support.py | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/rumba/ssh_support.py b/rumba/ssh_support.py
index 4fc9b3c..1faa34e 100644
--- a/rumba/ssh_support.py
+++ b/rumba/ssh_support.py
@@ -78,25 +78,7 @@ def execute_command(testbed, ssh_config, command, time_out=3):
 
     @return: stdout resulting from the command
     '''
-    ssh_client = get_ssh_client()
-
-    try:
-        ssh_client.connect(ssh_config.hostname, ssh_config.port,
-                           testbed.username, testbed.password,
-                           look_for_keys=True, timeout=time_out)
-        stdin, stdout, stderr = ssh_client.exec_command(command)
-        del stdin
-        err = str(stderr.read()).strip('b\'\"\\n')
-        if err != "":
-            print(err)
-        output = str(stdout.read()).strip('b\'\"\\n')
-        ssh_client.close()
-
-        return output
-
-    except Exception as e:
-        print(str(e))
-        return
+    return execute_commands(testbed, ssh_config, [command], time_out)
 
 def copy_file_to_testbed(testbed, ssh_config, text, file_name):
     '''
-- 
cgit v1.2.3