]> git.apps.os.sepia.ceph.com Git - teuthology.git/commitdiff
openstack: Make used private keys explicit 1341/head
authorThomas Bechtold <tbechtold@suse.com>
Thu, 31 Oct 2019 09:48:01 +0000 (10:48 +0100)
committerThomas Bechtold <tbechtold@suse.com>
Thu, 14 Nov 2019 04:32:24 +0000 (05:32 +0100)
Instead of appending possible private keyfile paths internally, make
that the default for the --key-filename command line argument so users
see it when looking at the help.
If --key-filename is given, only that key is used now (instead of
silently trying the default keys)

scripts/openstack.py
teuthology/openstack/__init__.py

index 028a436b04dd7806a14b84a470d5c299af8676e8..acf34d081634fc5f5112df5144ad9a408e2466ef 100644 (file)
@@ -15,7 +15,12 @@ def get_key_parser():
     )
     parser.add_argument(
         '--key-filename',
-        help='path to the ssh private key',
+        help='path to the ssh private key. Default: %(default)s',
+        default=[
+            os.environ['HOME'] + '/.ssh/id_rsa',
+            os.environ['HOME'] + '/.ssh/id_dsa',
+            os.environ['HOME'] + '/.ssh/id_ecdsa'
+        ]
     )
     return parser
 
index 4128f555881395cddccf3a04293cebc03ef7e356..770e5606ddb67b69f855b989a55f08f71204a9eb 100644 (file)
@@ -692,11 +692,10 @@ class TeuthologyOpenStack(OpenStack):
         self.setup_logs()
         set_config_attr(self.args)
         log.debug('Teuthology config: %s' % self.config.openstack)
-        for keyfile in [self.args.key_filename,
-                        os.environ['HOME'] + '/.ssh/id_rsa',
-                        os.environ['HOME'] + '/.ssh/id_dsa',
-                        os.environ['HOME'] + '/.ssh/id_ecdsa']:
-            if (keyfile and os.path.isfile(keyfile)):
+        key_filenames = (lambda x: x if isinstance(x, list) else [x]) \
+            (self.args.key_filename)
+        for keyfile in key_filenames:
+            if os.path.isfile(keyfile):
                 self.key_filename = keyfile
                 break
         if not self.key_filename:
@@ -918,8 +917,8 @@ class TeuthologyOpenStack(OpenStack):
         return self.ssh(command)
 
     def reminders(self):
-        if self.args.key_filename:
-            identity = '-i ' + self.args.key_filename + ' '
+        if self.key_filename:
+            identity = '-i ' + self.key_filename + ' '
         else:
             identity = ''
         if self.args.upload: