diff options
author | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-11-19 13:39:59 +0100 |
---|---|---|
committer | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-11-19 13:40:15 +0100 |
commit | 095442c4bdf437531eae2aecd364e74d756757fd (patch) | |
tree | 35d9473bfab5cf8dd1ea532306e6ae995602d20c /fuel/deploy/ssh_client.py | |
parent | b13de8d8c1afb3d1106d839385572dee4e2077bf (diff) |
Cleaning up the experimental branch
Should not be used any more!
Change-Id: I38fd1ea34aaa12c5d7d060bca47d1866bc97d185
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
Diffstat (limited to 'fuel/deploy/ssh_client.py')
-rw-r--r-- | fuel/deploy/ssh_client.py | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/fuel/deploy/ssh_client.py b/fuel/deploy/ssh_client.py deleted file mode 100644 index 0f6b8c7ea..000000000 --- a/fuel/deploy/ssh_client.py +++ /dev/null @@ -1,97 +0,0 @@ -############################################################################### -# Copyright (c) 2015 Ericsson AB and others. -# szilard.cserey@ericsson.com -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Apache License, Version 2.0 -# which accompanies this distribution, and is available at -# http://www.apache.org/licenses/LICENSE-2.0 -############################################################################### - - -import paramiko -import common -import scp - -TIMEOUT = 600 -log = common.log -err = common.err - - -class SSHClient(object): - - def __init__(self, host, username, password): - self.host = host - self.username = username - self.password = password - self.client = None - - def open(self, timeout=TIMEOUT): - self.client = paramiko.SSHClient() - self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) - self.client.connect(self.host, username=self.username, - password=self.password, look_for_keys=False, - timeout=timeout) - - def close(self): - if self.client is not None: - self.client.close() - self.client = None - - def __enter__(self): - self.open() - return self - - def __exit__(self, type, value, traceback): - self.close() - - def exec_cmd(self, command, check=True, sudo=False, timeout=TIMEOUT): - if sudo and self.username != 'root': - command = "sudo -S -p '' %s" % command - stdin, stdout, stderr = self.client.exec_command(command, - timeout=timeout) - if sudo: - stdin.write(self.password + '\n') - stdin.flush() - response = stdout.read().strip() - error = stderr.read().strip() - - if check: - if error: - self.close() - err(error) - else: - return response - return response, error - - def run(self, command): - transport = self.client.get_transport() - transport.set_keepalive(1) - chan = transport.open_session() - chan.exec_command(command) - while not chan.exit_status_ready(): - if chan.recv_ready(): - data = chan.recv(1024) - while data: - log(data.strip()) - data = chan.recv(1024) - - if chan.recv_stderr_ready(): - error_buff = chan.recv_stderr(1024) - while error_buff: - log(error_buff.strip()) - error_buff = chan.recv_stderr(1024) - return chan.recv_exit_status() - - def scp_get(self, remote, local='.', dir=False): - try: - with scp.SCPClient(self.client.get_transport()) as _scp: - _scp.get(remote, local, dir) - except Exception as e: - err(e) - - def scp_put(self, local, remote='.', dir=False): - try: - with scp.SCPClient(self.client.get_transport()) as _scp: - _scp.put(local, remote, dir) - except Exception as e: - err(e) |