]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: move RemoveUtil into OSDRemovalQueue
authorSebastian Wagner <sebastian.wagner@suse.com>
Fri, 8 Jan 2021 11:41:05 +0000 (12:41 +0100)
committerSebastian Wagner <sebastian.wagner@suse.com>
Fri, 22 Jan 2021 12:05:56 +0000 (13:05 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit df16b86c7b6e1c11d35de4290a9e164962b4d057)

src/pybind/mgr/cephadm/module.py
src/pybind/mgr/cephadm/services/osd.py
src/pybind/mgr/cephadm/tests/test_cephadm.py

index d289e92735d78cab6a123d9ff086ae3eb8728dc3..cbc70f82fd759afe27c8e1e540af66a56b98bb5d 100644 (file)
@@ -353,7 +353,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self.cache = HostCache(self)
         self.cache.load()
 
-        self.rm_util = RemoveUtil(self)
         self.to_remove_osds = OSDRemovalQueue(self)
         self.to_remove_osds.load_from_store()
 
@@ -2237,7 +2236,7 @@ To check that the host is reachable:
                                                 hostname=daemon.hostname,
                                                 fullname=daemon.name(),
                                                 process_started_at=datetime.datetime.utcnow(),
-                                                remove_util=self.rm_util))
+                                                remove_util=self.to_remove_osds.rm_util))
             except NotFoundError:
                 return f"Unable to find OSDs: {osd_ids}"
 
@@ -2254,7 +2253,7 @@ To check that the host is reachable:
         for osd_id in osd_ids:
             try:
                 self.to_remove_osds.rm(OSD(osd_id=int(osd_id),
-                                           remove_util=self.rm_util))
+                                           remove_util=self.to_remove_osds.rm_util))
             except (NotFoundError, KeyError):
                 return f'Unable to find OSD in the queue: {osd_id}'
 
index 8f6d7ff511c6b36a88501ebfef65e1a04445e01c..7822d8a8cb1a6c511e884ca0441d89fe7cbbb2da 100644 (file)
@@ -598,6 +598,7 @@ class OSDRemovalQueue(object):
     def __init__(self, mgr: "CephadmOrchestrator") -> None:
         self.mgr: "CephadmOrchestrator" = mgr
         self.osds: Set[OSD] = set()
+        self.rm_util = RemoveUtil(mgr)
 
     def process_removal_queue(self) -> None:
         """
@@ -613,7 +614,7 @@ class OSDRemovalQueue(object):
             f"for removal: {self.all_osds()}")
 
         # find osds that are ok-to-stop and not yet draining
-        ok_to_stop_osds = self.mgr.rm_util.find_osd_stop_threshold(self.idling_osds())
+        ok_to_stop_osds = self.rm_util.find_osd_stop_threshold(self.idling_osds())
         if ok_to_stop_osds:
             # start draining those
             _ = [osd.start_draining() for osd in ok_to_stop_osds]
@@ -676,7 +677,7 @@ class OSDRemovalQueue(object):
         for k, v in self.mgr.get_store_prefix('osd_remove_queue').items():
             for osd in json.loads(v):
                 logger.debug(f"Loading osd ->{osd} from store")
-                osd_obj = OSD.from_json(osd, rm_util=self.mgr.rm_util)
+                osd_obj = OSD.from_json(osd, rm_util=self.rm_util)
                 if osd_obj is not None:
                     self.osds.add(osd_obj)
 
index 0b1600c2ad0c1512183b0b6d3cfafdd68abb617b..d5740fa53577629bb9bfcf506605284a15106872 100644 (file)
@@ -505,7 +505,7 @@ class TestCephadm(object):
                                                       hostname='test',
                                                       fullname='osd.0',
                                                       process_started_at=datetime.datetime.utcnow(),
-                                                      remove_util=cephadm_module.rm_util
+                                                      remove_util=cephadm_module.to_remove_osds.rm_util
                                                       ))
             cephadm_module.to_remove_osds.process_removal_queue()
             assert cephadm_module.to_remove_osds == OSDRemovalQueue(cephadm_module)