]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: move _deploy_etc_ceph_ceph_conf to serve.py
authorSebastian Wagner <sebastian.wagner@suse.com>
Fri, 11 Sep 2020 11:09:28 +0000 (13:09 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Wed, 18 Nov 2020 10:52:17 +0000 (11:52 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 7fd92ec68065ff0e219ec7f55d6fbe41dd053835)

src/pybind/mgr/cephadm/module.py
src/pybind/mgr/cephadm/serve.py

index fd464fccf53acaaa6bb4267c75f46e60d6a8a99e..703d526064ee806e28aa394e2c02acbc080f5021 100644 (file)
@@ -1346,30 +1346,6 @@ To check that the host is reachable:
         self.log.info(msg)
         return msg
 
-    def _deploy_etc_ceph_ceph_conf(self, host: str) -> Optional[str]:
-        config = self.get_minimal_ceph_conf()
-
-        try:
-            with self._remote_connection(host) as tpl:
-                conn, connr = tpl
-                out, err, code = remoto.process.check(
-                    conn,
-                    ['mkdir', '-p', '/etc/ceph'])
-                if code:
-                    return f'failed to create /etc/ceph on {host}: {err}'
-                out, err, code = remoto.process.check(
-                    conn,
-                    ['dd', 'of=/etc/ceph/ceph.conf'],
-                    stdin=config.encode('utf-8')
-                )
-                if code:
-                    return f'failed to create /etc/ceph/ceph.conf on {host}: {err}'
-                self.cache.update_last_etc_ceph_ceph_conf(host)
-                self.cache.save_host(host)
-        except OrchestratorError as e:
-            return f'failed to create /etc/ceph/ceph.conf on {host}: {str(e)}'
-        return None
-
     def get_minimal_ceph_conf(self) -> str:
         _, config, _ = self.check_mon_command({
             "prefix": "config generate-minimal-conf",
index f957a40bf7a1d64ecc8cb95806ee3432b56a27b3..95c0425f8c6828b71ceeacbdb813f885438a306f 100644 (file)
@@ -3,6 +3,11 @@ import json
 import logging
 from typing import TYPE_CHECKING, Optional
 
+try:
+    import remoto
+except ImportError:
+    remoto = None
+
 from ceph.deployment import inventory
 
 import orchestrator
@@ -115,7 +120,7 @@ class CephadmServe:
 
             if self.mgr.cache.host_needs_new_etc_ceph_ceph_conf(host):
                 self.log.debug(f"deploying new /etc/ceph/ceph.conf on `{host}`")
-                r = self.mgr._deploy_etc_ceph_ceph_conf(host)
+                r = self._deploy_etc_ceph_ceph_conf(host)
                 if r:
                     bad_hosts.append(r)
 
@@ -269,3 +274,27 @@ class CephadmServe:
         self.mgr.cache.osdspec_previews[search_host] = previews
         # Unset global 'pending' flag for host
         self.mgr.cache.loading_osdspec_preview.remove(search_host)
+
+    def _deploy_etc_ceph_ceph_conf(self, host: str) -> Optional[str]:
+        config = self.mgr.get_minimal_ceph_conf()
+
+        try:
+            with self.mgr._remote_connection(host) as tpl:
+                conn, connr = tpl
+                out, err, code = remoto.process.check(
+                    conn,
+                    ['mkdir', '-p', '/etc/ceph'])
+                if code:
+                    return f'failed to create /etc/ceph on {host}: {err}'
+                out, err, code = remoto.process.check(
+                    conn,
+                    ['dd', 'of=/etc/ceph/ceph.conf'],
+                    stdin=config.encode('utf-8')
+                )
+                if code:
+                    return f'failed to create /etc/ceph/ceph.conf on {host}: {err}'
+                self.mgr.cache.update_last_etc_ceph_ceph_conf(host)
+                self.mgr.cache.save_host(host)
+        except OrchestratorError as e:
+            return f'failed to create /etc/ceph/ceph.conf on {host}: {str(e)}'
+        return None