From 008b41bfc7a80d215314ece61af9291094e3f274 Mon Sep 17 00:00:00 2001 From: Daniel Pivonka Date: Thu, 7 Oct 2021 15:52:05 -0400 Subject: [PATCH] mgr/cephadm: track daemon deployment post actions by daemon name instead of type in rare cases tracking by type can cause a daemon to be missed when doing post actions if it is not in the cache yet Signed-off-by: Daniel Pivonka --- src/pybind/mgr/cephadm/serve.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 1cf024fac31..59191999532 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -1004,8 +1004,12 @@ class CephadmServe: # do daemon post actions for daemon_type, daemon_descs in daemons_post.items(): - if daemon_type in self.mgr.requires_post_actions: - self.mgr.requires_post_actions.remove(daemon_type) + run_post = False + for d in daemon_descs: + if d.name() in self.mgr.requires_post_actions: + self.mgr.requires_post_actions.remove(d.name()) + run_post = True + if run_post: self.mgr._get_cephadm_service(daemon_type_to_service( daemon_type)).daemon_check_post(daemon_descs) @@ -1125,7 +1129,7 @@ class CephadmServe: DaemonDescriptionStatus.running, 'starting') self.mgr.cache.add_daemon(daemon_spec.host, sd) if daemon_spec.daemon_type in REQUIRES_POST_ACTIONS: - self.mgr.requires_post_actions.add(daemon_spec.daemon_type) + self.mgr.requires_post_actions.add(daemon_spec.name()) self.mgr.cache.invalidate_host_daemons(daemon_spec.host) self.mgr.cache.update_daemon_config_deps( -- 2.39.5