]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/ssh: 'ssh {check,prepare}-host <host>' 31795/head
authorSage Weil <sage@redhat.com>
Mon, 25 Nov 2019 17:18:09 +0000 (11:18 -0600)
committerSage Weil <sage@redhat.com>
Wed, 4 Dec 2019 15:23:36 +0000 (09:23 -0600)
Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/ssh/module.py

index 2871f92e1a395851facec8eb269081493075be7d..540d47eb0277b064693075ca650a2512d677a4d0 100644 (file)
@@ -520,6 +520,28 @@ class SSHOrchestrator(MgrModule, orchestrator.Orchestrator):
     def _get_user(self):
         return 0, self.ssh_user, ''
 
+    @orchestrator._cli_read_command(
+        'ssh check-host',
+        'name=host,type=CephString',
+        'Check whether we can access and manage a remote host')
+    def _check_host(self, host):
+        out, err, code = self._run_ceph_daemon(host, '', 'check-host', [],
+                                               error_ok=True, no_fsid=True)
+        if code:
+            return 1, '', err
+        return 0, 'host ok', err
+
+    @orchestrator._cli_write_command(
+        'ssh prepare-host',
+        'name=host,type=CephString',
+        'Try to prepare a host for remote management')
+    def _prepare_host(self, host):
+        out, err, code = self._run_ceph_daemon(host, '', 'prepare-host', [],
+                                               error_ok=True, no_fsid=True)
+        if code:
+            return 1, '', err
+        return 0, 'host ok', err
+
     def _get_connection(self, host):
         """
         Setup a connection for running commands on remote host.