From: John Mulligan Date: Thu, 13 Jan 2022 19:01:51 +0000 (-0500) Subject: mgr/cephadm: auto-enable mirroring module when deploying service X-Git-Tag: v17.1.0~31^2~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=26d06d06c74d593d5ba13f07079c1699bece60be;p=ceph.git 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 (cherry picked from commit e030130fd1d680ebf9d2c6c9f95f44109fbf3036) --- 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