From: Sage Weil Date: Tue, 2 Nov 2021 16:31:44 +0000 (-0500) Subject: mgr/rook/rook_cluster: remove drivegroup map and loop X-Git-Tag: v17.1.0~469^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7d0de1bc28ebee066217eb953900f2320487d9a2;p=ceph.git mgr/rook/rook_cluster: remove drivegroup map and loop Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/rook/rook_cluster.py b/src/pybind/mgr/rook/rook_cluster.py index 4a080fa92237..f837c1014d71 100644 --- a/src/pybind/mgr/rook/rook_cluster.py +++ b/src/pybind/mgr/rook/rook_cluster.py @@ -658,8 +658,6 @@ class RookCluster(object): label_selector="rook_cluster={0}".format( self.rook_env.namespace)) self.nodes: KubernetesResource[client.V1Node] = KubernetesResource(self.coreV1_api.list_node) - self.drive_group_map: Dict[str, Any] = {} - self.drive_group_lock = threading.Lock() def rook_url(self, path: str) -> str: prefix = "/apis/ceph.rook.io/%s/namespaces/%s/" % ( @@ -1091,24 +1089,20 @@ class RookCluster(object): assert drive_group.service_id storage_class = self.get_storage_class() inventory = self.get_discovered_devices() - self.creator: Optional[DefaultCreator] = None - if storage_class.metadata.labels and ('local.storage.openshift.io/owner-name' in storage_class.metadata.labels): - self.creator = LSOCreator(inventory, self.coreV1_api, self.storage_class) + creator: Optional[DefaultCreator] = None + if ( + storage_class.metadata.labels + and 'local.storage.openshift.io/owner-name' in storage_class.metadata.labels + ): + creator = LSOCreator(inventory, self.coreV1_api, self.storage_class) else: - self.creator = DefaultCreator(inventory, self.coreV1_api, self.storage_class) - _add_osds = self.creator.add_osds(self.rook_pods, drive_group, matching_hosts) - with self.drive_group_lock: - self.drive_group_map[drive_group.service_id] = _add_osds - return self._patch(ccl.CephCluster, 'cephclusters', self.rook_env.cluster_name, _add_osds) - - @threaded - def drive_group_loop(self) -> None: - ten_minutes = 10 * 60 - while True: - sleep(ten_minutes) - with self.drive_group_lock: - for _, add_osd in self.drive_group_map.items(): - self._patch(ccl.CephCluster, 'cephclusters', self.rook_env.cluster_name, add_osd) + creator = DefaultCreator(inventory, self.coreV1_api, self.storage_class) + return self._patch( + ccl.CephCluster, + 'cephclusters', + self.rook_env.cluster_name, + creator.add_osds(self.rook_pods, drive_group, matching_hosts) + ) def remove_osds(self, osd_ids: List[str], replace: bool, force: bool, mon_command: Callable) -> str: inventory = self.get_discovered_devices()