X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=fuel%2Fdeploy%2Fssh_client.py;h=0f6b8c7eaea6e74175985cc0718946234809059f;hb=563547b4a9f44090f32c0e17d040114854563760;hp=9ea227aea44fd4db4a4d2a318869e56d0d3ba16d;hpb=7b483cb5ddc4445d5a31886c08694a61bce50636;p=genesis.git diff --git a/fuel/deploy/ssh_client.py b/fuel/deploy/ssh_client.py index 9ea227a..0f6b8c7 100644 --- a/fuel/deploy/ssh_client.py +++ b/fuel/deploy/ssh_client.py @@ -1,3 +1,13 @@ +############################################################################### +# 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 @@ -6,6 +16,7 @@ TIMEOUT = 600 log = common.log err = common.err + class SSHClient(object): def __init__(self, host, username, password): @@ -18,7 +29,8 @@ class SSHClient(object): self.client = paramiko.SSHClient() self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.client.connect(self.host, username=self.username, - password=self.password, timeout=timeout) + password=self.password, look_for_keys=False, + timeout=timeout) def close(self): if self.client is not None: @@ -32,7 +44,7 @@ class SSHClient(object): def __exit__(self, type, value, traceback): self.close() - def exec_cmd(self, command, sudo=False, timeout=TIMEOUT, check=True): + 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, @@ -60,16 +72,15 @@ class SSHClient(object): if chan.recv_ready(): data = chan.recv(1024) while data: - print data + log(data.strip()) data = chan.recv(1024) if chan.recv_stderr_ready(): error_buff = chan.recv_stderr(1024) while error_buff: - print error_buff + log(error_buff.strip()) error_buff = chan.recv_stderr(1024) - exit_status = chan.recv_exit_status() - log('Exit status %s' % exit_status) + return chan.recv_exit_status() def scp_get(self, remote, local='.', dir=False): try: