]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: Validate bootstrap "--dashboard-{key|crt}" path
authorRicardo Marques <rimarques@suse.com>
Mon, 25 May 2020 10:53:59 +0000 (11:53 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Tue, 2 Jun 2020 12:58:27 +0000 (14:58 +0200)
Fixes: https://tracker.ceph.com/issues/45696
Signed-off-by: Ricardo Marques <rimarques@suse.com>
(cherry picked from commit 1ceca64d6b285eadb20a6807891aee0c92d04c09)

src/cephadm/cephadm

index 3f29e7f6abdfb218c2eca88835253d982c8d9914..9750ec754682ed5bfa8dd8ee4bd42190ce9fc930 100755 (executable)
@@ -2628,9 +2628,10 @@ def command_bootstrap():
         # dashboard crt and key
         if args.dashboard_key and args.dashboard_crt:
             logger.info('Using provided dashboard certificate...')
-            mounts = {}
-            mounts[pathify(args.dashboard_crt)] = '/tmp/dashboard.crt:z'
-            mounts[pathify(args.dashboard_key)] = '/tmp/dashboard.key:z'
+            mounts = {
+                pathify(args.dashboard_crt.name): '/tmp/dashboard.crt:z',
+                pathify(args.dashboard_key.name): '/tmp/dashboard.key:z'
+            }
             cli(['dashboard', 'set-ssl-certificate', '-i', '/tmp/dashboard.crt'], extra_mounts=mounts)
             cli(['dashboard', 'set-ssl-certificate-key', '-i', '/tmp/dashboard.key'], extra_mounts=mounts)
         else:
@@ -4472,9 +4473,11 @@ def _get_parser():
 
     parser_bootstrap.add_argument(
         '--dashboard-key',
+        type=argparse.FileType('r'),
         help='Dashboard key')
     parser_bootstrap.add_argument(
         '--dashboard-crt',
+        type=argparse.FileType('r'),
         help='Dashboard certificate')
 
     parser_bootstrap.add_argument(