summaryrefslogtreecommitdiffstats
path: root/yardstick/ssh.py
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-08-20 22:09:33 -0700
committerRoss Brattain <ross.b.brattain@intel.com>2017-08-21 20:12:32 -0700
commitbb3ad3827f02bb27bcc84e191afc27ddd2da38b2 (patch)
treede4775b5f606a9a2c700ee9c9ec8b3d00a0973b5 /yardstick/ssh.py
parente71da0adfe3fae77311d7a75c5a74b87dfa0890e (diff)
ssh: add new get_file_obj method to fetch remote files
We can either cat remote files, or we can just sftp get them. use sftp get for /proc/cpuinfo since it can be so very large on systems with 88+ cores. Change-Id: I420b8c5eefdce8bb3e3b13dcc8257583dee537c1 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'yardstick/ssh.py')
-rw-r--r--yardstick/ssh.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/yardstick/ssh.py b/yardstick/ssh.py
index 8ac3eaa3a..a024cf64a 100644
--- a/yardstick/ssh.py
+++ b/yardstick/ssh.py
@@ -423,6 +423,12 @@ class SSH(object):
if mode is not None:
sftp.chmod(remotepath, mode)
+ def get_file_obj(self, remotepath, file_obj):
+ client = self._get_client()
+
+ with client.open_sftp() as sftp:
+ sftp.getfo(remotepath, file_obj)
+
class AutoConnectSSH(SSH):
@@ -471,6 +477,10 @@ class AutoConnectSSH(SSH):
self._connect()
return super(AutoConnectSSH, self).put_file_obj(file_obj, remote_path, mode)
+ def get_file_obj(self, remote_path, file_obj):
+ self._connect()
+ return super(AutoConnectSSH, self).get_file_obj(remote_path, file_obj)
+
def provision_tool(self, tool_path, tool_file=None):
self._connect()
return super(AutoConnectSSH, self).provision_tool(tool_path, tool_file)