]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: move _check_host to serve.py
authorSebastian Wagner <sebastian.wagner@suse.com>
Fri, 11 Sep 2020 10:54:55 +0000 (12:54 +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 d6914694003cc4de3c01d8ec7d4b05c14e8bc67f)

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

index 3995d559388dc3c677e21a3baa36dae14b4b9fa5..8cb0db7c94cac3f8de388edfd957625fd8e8afc4 100644 (file)
@@ -431,26 +431,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
             return f"Host {host} failed to login to {url} as {username} with given password"
         return
 
-    def _check_host(self, host):
-        if host not in self.inventory:
-            return
-        self.log.debug(' checking %s' % host)
-        try:
-            out, err, code = self._run_cephadm(
-                host, cephadmNoImage, 'check-host', [],
-                error_ok=True, no_fsid=True)
-            self.cache.update_last_host_check(host)
-            self.cache.save_host(host)
-            if code:
-                self.log.debug(' host %s failed check' % host)
-                if self.warn_on_failed_host_check:
-                    return 'host %s failed check: %s' % (host, err)
-            else:
-                self.log.debug(' host %s ok' % host)
-        except Exception as e:
-            self.log.debug(' host %s failed check' % host)
-            return 'host %s failed check: %s' % (host, e)
-
     def _check_for_strays(self):
         self.log.debug('_check_for_strays')
         for k in ['CEPHADM_STRAY_HOST',
@@ -897,7 +877,7 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self._reconfig_ssh()
 
         host = self.cache.get_hosts()[0]
-        r = self._check_host(host)
+        r = CephadmServe(self)._check_host(host)
         if r is not None:
             # connection failed reset user
             self.set_store('ssh_user', current_user)
index 091c71d27142e796eed4093e0415458fb51530d9..473f356d5a57305a442112b4f9dc122724957bf3 100644 (file)
@@ -1,7 +1,7 @@
 import logging
 from typing import TYPE_CHECKING
 
-from cephadm.utils import forall_hosts
+from cephadm.utils import forall_hosts, cephadmNoImage
 from orchestrator import OrchestratorError
 
 if TYPE_CHECKING:
@@ -80,7 +80,7 @@ class CephadmServe:
         @forall_hosts
         def refresh(host):
             if self.mgr.cache.host_needs_check(host):
-                r = self.mgr._check_host(host)
+                r = self._check_host(host)
                 if r is not None:
                     bad_hosts.append(r)
             if self.mgr.cache.host_needs_daemon_refresh(host):
@@ -141,3 +141,23 @@ class CephadmServe:
             health_changed = True
         if health_changed:
             self.mgr.set_health_checks(self.mgr.health_checks)
+
+    def _check_host(self, host):
+        if host not in self.mgr.inventory:
+            return
+        self.log.debug(' checking %s' % host)
+        try:
+            out, err, code = self.mgr._run_cephadm(
+                host, cephadmNoImage, 'check-host', [],
+                error_ok=True, no_fsid=True)
+            self.mgr.cache.update_last_host_check(host)
+            self.mgr.cache.save_host(host)
+            if code:
+                self.log.debug(' host %s failed check' % host)
+                if self.mgr.warn_on_failed_host_check:
+                    return 'host %s failed check: %s' % (host, err)
+            else:
+                self.log.debug(' host %s ok' % host)
+        except Exception as e:
+            self.log.debug(' host %s failed check' % host)
+            return 'host %s failed check: %s' % (host, e)
index a64254714ec3440422e0369c538d8882460e2813..880d573ae73c1c4f9aa3b41592adada085d823b1 100644 (file)
@@ -771,7 +771,7 @@ class TestCephadm(object):
             assert out == HostSpec('test', 'test', status='Offline').to_json()
 
             _get_connection.side_effect = None
-            assert cephadm_module._check_host('test') is None
+            assert CephadmServe(cephadm_module)._check_host('test') is None
             out = wait(cephadm_module, cephadm_module.get_hosts())[0].to_json()
             assert out == HostSpec('test', 'test').to_json()