From c90e9d0768741fd0ac59ececa691534a34a22300 Mon Sep 17 00:00:00 2001 From: Thomas Bechtold Date: Thu, 31 Oct 2019 10:48:01 +0100 Subject: [PATCH] openstack: Make used private keys explicit 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 | 7 ++++++- teuthology/openstack/__init__.py | 13 ++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/scripts/openstack.py b/scripts/openstack.py index 028a436b04..acf34d0816 100644 --- a/scripts/openstack.py +++ b/scripts/openstack.py @@ -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 diff --git a/teuthology/openstack/__init__.py b/teuthology/openstack/__init__.py index 4128f55588..770e5606dd 100644 --- a/teuthology/openstack/__init__.py +++ b/teuthology/openstack/__init__.py @@ -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: -- 2.39.5