]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: record when finished with scheduled daemon action 44080/head
authorSage Weil <sage@newdream.net>
Wed, 24 Nov 2021 00:32:26 +0000 (19:32 -0500)
committerSage Weil <sage@newdream.net>
Wed, 24 Nov 2021 00:32:26 +0000 (19:32 -0500)
Signed-off-by: Sage Weil <sage@newdream.net>
src/pybind/mgr/cephadm/inventory.py
src/pybind/mgr/cephadm/serve.py

index b5508662721a84b57c6659c7f7e177ee996213bb..366b9011b9187b101a4b95d2b4475c838270d851 100644 (file)
@@ -1089,12 +1089,15 @@ class HostCache():
             self.scheduled_daemon_actions[host] = {}
         self.scheduled_daemon_actions[host][daemon_name] = action
 
-    def rm_scheduled_daemon_action(self, host: str, daemon_name: str) -> None:
+    def rm_scheduled_daemon_action(self, host: str, daemon_name: str) -> bool:
+        found = False
         if host in self.scheduled_daemon_actions:
             if daemon_name in self.scheduled_daemon_actions[host]:
                 del self.scheduled_daemon_actions[host][daemon_name]
+                found = True
             if not self.scheduled_daemon_actions[host]:
                 del self.scheduled_daemon_actions[host]
+        return found
 
     def get_scheduled_daemon_action(self, host: str, daemon: str) -> Optional[str]:
         assert not daemon.startswith('ha-rgw.')
index f4d0b4384e6fd309524b559d39f904bd13754808..e4fd8f91d972ae4c2df686d844545b4ba87b85b9 100644 (file)
@@ -974,7 +974,8 @@ class CephadmServe:
                 try:
                     daemon_spec = CephadmDaemonDeploySpec.from_daemon_description(dd)
                     self.mgr._daemon_action(daemon_spec, action=action)
-                    self.mgr.cache.rm_scheduled_daemon_action(dd.hostname, dd.name())
+                    if self.mgr.cache.rm_scheduled_daemon_action(dd.hostname, dd.name()):
+                        self.mgr.cache.save_host(dd.hostname)
                 except OrchestratorError as e:
                     self.mgr.events.from_orch_error(e)
                     if dd.daemon_type in daemons_post: