From 6f2792eb4b556cc174fecac8dbfcebf5471fbb85 Mon Sep 17 00:00:00 2001 From: Prasanna Santhanam Date: Tue, 23 Oct 2012 19:52:48 +0530 Subject: [PATCH] Summary: Close the ssh transport from paramiko Detail: SSH Transport to be explicitly closed in marvin.remoteSSHClient Signed-off-by: Prasanna Santhanam 1351002168 +0530 --- tools/marvin/marvin/remoteSSHClient.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/marvin/marvin/remoteSSHClient.py b/tools/marvin/marvin/remoteSSHClient.py index 60df2a744d7..036e1c381e1 100644 --- a/tools/marvin/marvin/remoteSSHClient.py +++ b/tools/marvin/marvin/remoteSSHClient.py @@ -18,6 +18,8 @@ import paramiko import time import cloudstackException +import contextlib +from contextlib import closing class remoteSSHClient(object): def __init__(self, host, port, user, passwd, retries = 10): @@ -67,8 +69,11 @@ class remoteSSHClient(object): except IOError, e: raise e + def close(self): + self.ssh.close() + if __name__ == "__main__": - ssh = remoteSSHClient("192.168.137.2", 22, "root", "password") - print ssh.execute("ls -l") - print ssh.execute("rm x") + with contextlib.closing(remoteSSHClient("10.223.75.10", 22, "root", + "password")) as ssh: + print ssh.execute("ls -l")