use transport if not set in state_file

This commit is contained in:
Daniel Wallace 2017-10-16 20:33:33 -06:00
parent 10e309a64f
commit 38963d5a82
No known key found for this signature in database
GPG key ID: 5FA5E5544F010D48

View file

@ -13,10 +13,19 @@ class DownloadArtifacts(object):
def setup_transport(self):
config = yaml.load(subprocess.check_output(['bundle', 'exec', 'kitchen', 'diagnose', self.instance]))
instance = config['instances'][self.instance]['state_file']
transport = paramiko.Transport((instance['hostname'], instance['port']))
pkey = paramiko.rsakey.RSAKey(filename=instance['ssh_key'])
transport.connect(username=instance['username'], pkey=pkey)
state = config['instances'][self.instance]['state_file']
tport = config['instances'][self.instance]['transport']
transport = paramiko.Transport((
state['hostname'],
state.get('port', tport.get('port', 22))
))
pkey = paramiko.rsakey.RSAKey(
filename=state.get('ssh_key', tport.get('ssh_key', '~/.ssh/id_rsa'))
)
transport.connect(
username=state.get('username', tport.get('username', 'root')),
pkey=pkey
)
return paramiko.SFTPClient.from_transport(transport)
def download(self):