From e517882f2138c0e2aab1c08c8b3c882b92bcaf37 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 11 Oct 2021 11:57:40 -0500 Subject: [PATCH] mgr/rook: factor out replica/failureDomain calc Signed-off-by: Sage Weil --- src/pybind/mgr/rook/module.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) 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 -- 2.39.5