diff options
author | jose.lausuch <jose.lausuch@ericsson.com> | 2016-11-17 23:03:44 +0100 |
---|---|---|
committer | Jose Lausuch <jose.lausuch@ericsson.com> | 2017-01-30 08:56:48 +0000 |
commit | 816695878485fb6cb8742e10c81f1d43b2052501 (patch) | |
tree | e215855788d1b10cfe1ad7f0c7b5363ddbbbb3e7 /modules/opnfv/utils/SSHUtils.py | |
parent | 645b83769d711412fcf5c5f4ed030d2fd9ef46c7 (diff) |
Create Apex Adapter
JIRA: RELENG-152
This implementation will help collect information from
the deployment. For example:
- overcloudrc file
- files from the undercloud
- files from the overcloud nodes (i.e. logs)
Change-Id: I293837695a4b82e57b9fac6027fe8197d68b1f14
Signed-off-by: jose.lausuch <jose.lausuch@ericsson.com>
Diffstat (limited to 'modules/opnfv/utils/SSHUtils.py')
-rw-r--r-- | modules/opnfv/utils/SSHUtils.py | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/modules/opnfv/utils/SSHUtils.py b/modules/opnfv/utils/SSHUtils.py index 16e34c3e5..e0a830caa 100644 --- a/modules/opnfv/utils/SSHUtils.py +++ b/modules/opnfv/utils/SSHUtils.py @@ -16,7 +16,11 @@ import os logger = OPNFVLogger.Logger('SSHUtils').getLogger() -def get_ssh_client(hostname, username, password=None, proxy=None): +def get_ssh_client(hostname, + username, + password=None, + proxy=None, + pkey_file=None): client = None try: if proxy is None: @@ -26,14 +30,21 @@ def get_ssh_client(hostname, username, password=None, proxy=None): client.configure_jump_host(proxy['ip'], proxy['username'], proxy['password']) - if client is None: raise Exception('Could not connect to client') client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) - client.connect(hostname, - username=username, - password=password) + if pkey_file is not None: + key = paramiko.RSAKey.from_private_key_file(pkey_file) + client.load_system_host_keys() + client.connect(hostname, + username=username, + pkey=key) + else: + client.connect(hostname, + username=username, + password=password) + return client except Exception, e: logger.error(e) @@ -66,6 +77,7 @@ class ProxyHopClient(paramiko.SSHClient): ''' Connect to a remote server using a proxy hop ''' + def __init__(self, *args, **kwargs): self.logger = OPNFVLogger.Logger("ProxyHopClient").getLogger() self.proxy_ssh = None |