You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2015/03/27 23:39:25 UTC
libcloud git commit: Move CHUNK_SIZE and add SLEEP_DELAY variable to
the ParamikoSSHClient class.
Repository: libcloud
Updated Branches:
refs/heads/trunk 7845e08a9 -> 368ed715b
Move CHUNK_SIZE and add SLEEP_DELAY variable to the ParamikoSSHClient class.
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/368ed715
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/368ed715
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/368ed715
Branch: refs/heads/trunk
Commit: 368ed715b0cf7f031aa2418e2cbf9a041a39c967
Parents: 7845e08
Author: Tomaz Muraus <to...@apache.org>
Authored: Fri Mar 27 23:37:05 2015 +0100
Committer: Tomaz Muraus <to...@apache.org>
Committed: Fri Mar 27 23:37:05 2015 +0100
----------------------------------------------------------------------
libcloud/compute/ssh.py | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/368ed715/libcloud/compute/ssh.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/ssh.py b/libcloud/compute/ssh.py
index 7f4719c..427e133 100644
--- a/libcloud/compute/ssh.py
+++ b/libcloud/compute/ssh.py
@@ -51,10 +51,6 @@ __all__ = [
]
-# Maximum number of bytes to read at once from a socket
-CHUNK_SIZE = 1024
-
-
class SSHCommandTimeoutError(Exception):
"""
Exception which is raised when an SSH command times out.
@@ -199,10 +195,15 @@ class BaseSSHClient(object):
class ParamikoSSHClient(BaseSSHClient):
-
"""
A SSH Client powered by Paramiko.
"""
+
+ # Maximum number of bytes to read at once from a socket
+ CHUNK_SIZE = 1024
+ # How long to sleep while waiting for command to finish
+ SLEEP_DELAY = 1.5
+
def __init__(self, hostname, port=22, username='root', password=None,
key=None, key_files=None, key_material=None, timeout=None):
"""
@@ -362,7 +363,7 @@ class ParamikoSSHClient(BaseSSHClient):
raise SSHCommandTimeoutError(cmd=cmd, timeout=timeout)
if chan.recv_ready():
- data = chan.recv(CHUNK_SIZE)
+ data = chan.recv(self.CHUNK_SIZE)
while data:
stdout.write(b(data).decode('utf-8'))
@@ -371,10 +372,10 @@ class ParamikoSSHClient(BaseSSHClient):
if not ready:
break
- data = chan.recv(CHUNK_SIZE)
+ data = chan.recv(self.CHUNK_SIZE)
if chan.recv_stderr_ready():
- data = chan.recv_stderr(CHUNK_SIZE)
+ data = chan.recv_stderr(self.CHUNK_SIZE)
while data:
stderr.write(b(data).decode('utf-8'))
@@ -383,7 +384,7 @@ class ParamikoSSHClient(BaseSSHClient):
if not ready:
break
- data = chan.recv_stderr(CHUNK_SIZE)
+ data = chan.recv_stderr(self.CHUNK_SIZE)
# We need to check the exist status here, because the command could
# print some output and exit during this sleep bellow.
@@ -393,7 +394,7 @@ class ParamikoSSHClient(BaseSSHClient):
break
# Short sleep to prevent busy waiting
- time.sleep(1.5)
+ time.sleep(self.SLEEP_DELAY)
# Receive the exit status code of the command we ran.
status = chan.recv_exit_status()