]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
connection: key_filename can be a list 1344/head
authorKyr Shatskyy <kyrylo.shatskyy@gmail.com>
Tue, 5 Nov 2019 10:40:12 +0000 (11:40 +0100)
committerKyr Shatskyy <kyrylo.shatskyy@gmail.com>
Tue, 5 Nov 2019 10:48:40 +0000 (11:48 +0100)
This commit fixes 5ac7c2f and provides support for multiple identityfile,
besides paramiko.SSHClient.connect accepts list as well for key_filename,
pydoc excerpts:

key_filename:
    the filename, or list of filenames, of optional private key(s) to
    try for authentication

Fixes: https://tracker.ceph.com/issues/42543
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
teuthology/orchestra/connection.py

index 4863f14210f29bcb51b3e23b8192df49af10f0cb..81f78bbd1654022d57e8a37a7f034d75afd11457 100644 (file)
@@ -89,7 +89,10 @@ def connect(user_at_host, host_key=None, keep_alive=False, timeout=60,
             key_filename = opts['identityfile']
 
     if key_filename:
-        connect_args['key_filename'] = os.path.expanduser(key_filename)
+        if not isinstance(key_filename, list):
+            key_filename = [key_filename]
+        key_filename = [os.path.expanduser(f) for f in key_filename]
+        connect_args['key_filename'] = key_filename
 
     log.debug(connect_args)