]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
cephadm: Alow users to provide ssh config during bootstrap 35195/head
authorRicardo Marques <rimarques@suse.com>
Wed, 27 May 2020 08:20:47 +0000 (09:20 +0100)
committerRicardo Marques <rimarques@suse.com>
Wed, 27 May 2020 11:00:52 +0000 (12:00 +0100)
Custom ssh config can be provided by using the '--ssh-config' option

Signed-off-by: Ricardo Marques <rimarques@suse.com>
doc/man/8/cephadm.rst
src/cephadm/cephadm

index b1eb9648e111b3b02e4a2bb71b4f352c99941ad8..c0533367df9218fb408a22370a501625b29a615f 100644 (file)
@@ -62,6 +62,7 @@ Synopsis
 |                           [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD]
 |                           [--dashboard-key DASHBOARD_KEY]
 |                           [--dashboard-crt DASHBOARD_CRT]
+|                           [--ssh-config SSH_CONFIG]
 |                           [--ssh-private-key SSH_PRIVATE_KEY]
 |                           [--ssh-public-key SSH_PUBLIC_KEY] [--skip-mon-network]
 |                           [--skip-dashboard] [--dashboard-password-noupdate]
@@ -200,6 +201,7 @@ Arguments:
 * [--initial-dashboard-password INITIAL_DASHBOARD_PASSWORD] Initial password for the initial dashboard user
 * [--dashboard-key DASHBOARD_KEY] Dashboard key
 * [--dashboard-crt DASHBOARD_CRT] Dashboard certificate
+* [--ssh-config SSH_CONFIG] SSH config
 * [--ssh-private-key SSH_PRIVATE_KEY] SSH private key
 * [--ssh-public-key SSH_PUBLIC_KEY] SSH public key
 * [--skip-mon-network]            set mon public_network based on bootstrap mon ip
index 3f998da77ed60dfc93038ebcf8fbbf18d0253752..d62ea7309f75b5f75175f1f42501e69d52acf3bd 100755 (executable)
@@ -2562,6 +2562,13 @@ def command_bootstrap():
         logger.info('Setting orchestrator backend to cephadm...')
         cli(['orch', 'set', 'backend', 'cephadm'])
 
+        if args.ssh_config:
+            logger.info('Using provided ssh config...')
+            mounts = {
+                pathify(args.ssh_config.name): '/tmp/cephadm-ssh-config:z',
+            }
+            cli(['cephadm', 'set-ssh-config', '-i', '/tmp/cephadm-ssh-config'], extra_mounts=mounts)
+
         if args.ssh_private_key and args.ssh_public_key:
             logger.info('Using provided ssh keys...')
             mounts = {
@@ -4473,6 +4480,10 @@ def _get_parser():
         '--dashboard-crt',
         help='Dashboard certificate')
 
+    parser_bootstrap.add_argument(
+        '--ssh-config',
+        type=argparse.FileType('r'),
+        help='SSH config')
     parser_bootstrap.add_argument(
         '--ssh-private-key',
         type=argparse.FileType('r'),