]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: apply services after refreshing inventory
authorSage Weil <sage@redhat.com>
Sat, 29 Feb 2020 21:59:25 +0000 (15:59 -0600)
committerSage Weil <sage@redhat.com>
Sun, 1 Mar 2020 14:10:54 +0000 (08:10 -0600)
Ensure we have an inventory to apply against.

Signed-off-by: Sage Weil <sage@redhat.com>
src/pybind/mgr/cephadm/module.py

index a415568bdd356e1987e1f3b002734d3316eab507..6f6c36ef84f5ab0ba655c9c32451963786f39243 100644 (file)
@@ -995,19 +995,6 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
         self.log.debug("serve starting")
         while self.run:
             self._check_hosts()
-            self._remove_osds_bg()
-            service_completions = self._apply_services()
-            for service_completion in service_completions:
-                if service_completion:
-                    while not service_completion.has_result:
-                        self.process([service_completion])
-                        self.log.debug(f'Still processing {service_completion}')
-                        if service_completion.needs_result:
-                            time.sleep(1)
-                        else:
-                            break
-                    if service_completion.exception is not None:
-                        self.log.error(str(service_completion.exception))
 
             # refresh daemons
             self.log.debug('refreshing hosts')
@@ -1037,6 +1024,21 @@ class CephadmOrchestrator(orchestrator.Orchestrator, MgrModule):
 
             self._check_for_strays()
 
+            self._remove_osds_bg()
+
+            service_completions = self._apply_services()
+            for service_completion in service_completions:
+                if service_completion:
+                    while not service_completion.has_result:
+                        self.process([service_completion])
+                        self.log.debug(f'Still processing {service_completion}')
+                        if service_completion.needs_result:
+                            time.sleep(1)
+                        else:
+                            break
+                    if service_completion.exception is not None:
+                        self.log.error(str(service_completion.exception))
+
             if self.upgrade_state and not self.upgrade_state.get('paused'):
                 upgrade_completion = self._do_upgrade()
                 if upgrade_completion: