From: Sage Weil Date: Mon, 11 Oct 2021 16:57:40 +0000 (-0500) Subject: mgr/rook: factor out replica/failureDomain calc X-Git-Tag: v17.1.0~703^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e517882f2138c0e2aab1c08c8b3c882b92bcaf37;p=ceph-ci.git mgr/rook: factor out replica/failureDomain calc Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/rook/module.py b/src/pybind/mgr/rook/module.py index 0e53aea4492..27b80538b67 100644 --- a/src/pybind/mgr/rook/module.py +++ b/src/pybind/mgr/rook/module.py @@ -416,6 +416,20 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator): return result + def _get_pool_params(self) -> Tuple[str, str]: + num_replicas = self.get_ceph_option('osd_pool_default_size') + assert type(num_replicas) is int + + leaf_type_id = self.get_ceph_option('osd_crush_chooseleaf_type') + assert type(leaf_type_id) is int + crush = self.get('osd_map_crush') + leaf_type = 'host' + for t in crush['types']: + if t['type_id'] == leaf_type_id: + leaf_type = t['name'] + break + return num_replicas, leaf_type + @handle_orch_error def remove_service(self, service_name: str) -> str: service_type, service_name = service_name.split('.', 1) @@ -444,16 +458,7 @@ class RookOrchestrator(MgrModule, orchestrator.Orchestrator): @handle_orch_error def apply_rgw(self, spec): # type: (RGWSpec) -> str - num_replicas = self.get_ceph_option('osd_pool_default_size') - assert type(num_replicas) is int - leaf_type_id = self.get_ceph_option('osd_crush_chooseleaf_type') - assert type(leaf_type_id) is int - crush = self.get('osd_map_crush') - leaf_type = 'host' - for t in crush['types']: - if t['type_id'] == leaf_type_id: - leaf_type = t['name'] - break + num_replicas, leaf_type = self._get_pool_params() return self.rook_cluster.apply_objectstore(spec, num_replicas, leaf_type) @handle_orch_error