From c60efafbc816c6857015ff00ac5fbbce1b34ffec Mon Sep 17 00:00:00 2001 From: Sebastian Wagner Date: Fri, 11 Sep 2020 12:54:55 +0200 Subject: [PATCH] mgr/cephadm: move _check_host to serve.py Signed-off-by: Sebastian Wagner (cherry picked from commit d6914694003cc4de3c01d8ec7d4b05c14e8bc67f) --- src/pybind/mgr/cephadm/module.py | 22 +----------------- src/pybind/mgr/cephadm/serve.py | 24 ++++++++++++++++++-- src/pybind/mgr/cephadm/tests/test_cephadm.py | 2 +- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/pybind/mgr/cephadm/module.py b/src/pybind/mgr/cephadm/module.py index 3995d559388dc..8cb0db7c94cac 100644 --- a/src/pybind/mgr/cephadm/module.py +++ b/src/pybind/mgr/cephadm/module.py @@ -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) diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 091c71d27142e..473f356d5a573 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -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) diff --git a/src/pybind/mgr/cephadm/tests/test_cephadm.py b/src/pybind/mgr/cephadm/tests/test_cephadm.py index a64254714ec34..880d573ae73c1 100644 --- a/src/pybind/mgr/cephadm/tests/test_cephadm.py +++ b/src/pybind/mgr/cephadm/tests/test_cephadm.py @@ -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() -- 2.39.5