]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: move serve() to serve.py
authorSebastian Wagner <sebastian.wagner@suse.com>
Fri, 11 Sep 2020 10:42:40 +0000 (12:42 +0200)
committerSebastian Wagner <sebastian.wagner@suse.com>
Wed, 18 Nov 2020 10:52:17 +0000 (11:52 +0100)
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
(cherry picked from commit 2228d59229bff1aef4ef7f8e18b9d5f6c395a51d)

src/pybind/mgr/cephadm/module.py
src/pybind/mgr/cephadm/serve.py

index 9f9e0540276f8b68ec052eba8a72615ce8621146..930268decdb1ba0f2ac6c21792bafe5f6cfc1230 100644 (file)
@@ -27,6 +27,7 @@ from ceph.deployment.drive_group import DriveGroupSpec
 from ceph.deployment.service_spec import \
     NFSServiceSpec, RGWSpec, ServiceSpec, PlacementSpec, assert_valid_host, \
     CustomContainerSpec
+from cephadm.serve import CephadmServe
 from cephadm.services.cephadmservice import CephadmDaemonSpec
 
 from mgr_module import MgrModule, HandleCommandResult
@@ -518,42 +519,8 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         A command handler will typically change the declarative state
         of cephadm. This loop will then attempt to apply this new state.
         """
-        self.log.debug("serve starting")
-        while self.run:
-
-            try:
-
-                self.convert_tags_to_repo_digest()
-
-                # refresh daemons
-                self.log.debug('refreshing hosts and daemons')
-                self._refresh_hosts_and_daemons()
-
-                self._check_for_strays()
-
-                self._update_paused_health()
-
-                if not self.paused:
-                    self.rm_util.process_removal_queue()
-
-                    self.migration.migrate()
-                    if self.migration.is_migration_ongoing():
-                        continue
-
-                    if self._apply_all_services():
-                        continue  # did something, refresh
-
-                    self._check_daemons()
-
-                    if self.upgrade.continue_upgrade():
-                        continue
-
-            except OrchestratorError as e:
-                if e.event_subject:
-                    self.events.from_orch_error(e)
-
-            self._serve_sleep()
-        self.log.debug("serve exit")
+        serve = CephadmServe(self)
+        serve.serve()
 
     def convert_tags_to_repo_digest(self):
         if not self.use_repo_digest:
index 74d5353eadd5597c9ae871b6531ee28abb04efe6..fb81efa71335d84008754d942b2dd6c4844b7d8f 100644 (file)
@@ -1,6 +1,8 @@
 import logging
 from typing import TYPE_CHECKING
 
+from orchestrator import OrchestratorError
+
 if TYPE_CHECKING:
     from cephadm.module import CephadmOrchestrator
 
@@ -18,3 +20,48 @@ class CephadmServe:
 
     def __init__(self, mgr: "CephadmOrchestrator"):
         self.mgr: "CephadmOrchestrator" = mgr
+        self.log = logger
+
+    def serve(self) -> None:
+        """
+        The main loop of cephadm.
+
+        A command handler will typically change the declarative state
+        of cephadm. This loop will then attempt to apply this new state.
+        """
+        self.log.debug("serve starting")
+        while self.mgr.run:
+
+            try:
+
+                self.mgr.convert_tags_to_repo_digest()
+
+                # refresh daemons
+                self.log.debug('refreshing hosts and daemons')
+                self.mgr._refresh_hosts_and_daemons()
+
+                self.mgr._check_for_strays()
+
+                self.mgr._update_paused_health()
+
+                if not self.mgr.paused:
+                    self.mgr.rm_util.process_removal_queue()
+
+                    self.mgr.migration.migrate()
+                    if self.mgr.migration.is_migration_ongoing():
+                        continue
+
+                    if self.mgr._apply_all_services():
+                        continue  # did something, refresh
+
+                    self.mgr._check_daemons()
+
+                    if self.mgr.upgrade.continue_upgrade():
+                        continue
+
+            except OrchestratorError as e:
+                if e.event_subject:
+                    self.mgr.events.from_orch_error(e)
+
+            self.mgr._serve_sleep()
+        self.log.debug("serve exit")