From e030130fd1d680ebf9d2c6c9f95f44109fbf3036 Mon Sep 17 00:00:00 2001 From: John Mulligan Date: Thu, 13 Jan 2022 14:01:51 -0500 Subject: [PATCH] mgr/cephadm: auto-enable mirroring module when deploying service Automatically enable the mgr's mirroring module when creating cephfs-mirror services. This will trigger a mgr respawn. Fixes: https://tracker.ceph.com/issues/50593 Based roughly on 50dc1d0decb2fbf7b9129bddba940969410be5cd Signed-off-by: John Mulligan --- src/pybind/mgr/cephadm/services/cephadmservice.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/pybind/mgr/cephadm/services/cephadmservice.py b/src/pybind/mgr/cephadm/services/cephadmservice.py index f44dc62b1349..a052c2cf8ded 100644 --- a/src/pybind/mgr/cephadm/services/cephadmservice.py +++ b/src/pybind/mgr/cephadm/services/cephadmservice.py @@ -986,6 +986,18 @@ class CrashService(CephService): class CephfsMirrorService(CephService): TYPE = 'cephfs-mirror' + def config(self, spec: ServiceSpec) -> None: + # make sure mirroring module is enabled + mgr_map = self.mgr.get('mgr_map') + mod_name = 'mirroring' + if mod_name not in mgr_map.get('services', {}): + self.mgr.check_mon_command({ + 'prefix': 'mgr module enable', + 'module': mod_name + }) + # we shouldn't get here (mon will tell the mgr to respawn), but no + # harm done if we do. + def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonDeploySpec: assert self.TYPE == daemon_spec.daemon_type -- 2.47.3