From: Sage Weil Date: Tue, 9 Mar 2021 18:15:20 +0000 (-0600) Subject: mgr/cephadm: do not prime service cache on reconfig X-Git-Tag: v17.1.0~2683^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=248cb6a76ff52a4e5b5758b97a0d6cd812d9f9f5;p=ceph.git mgr/cephadm: do not prime service cache on reconfig Ceph daemon reconfig does not need any daemon state refresh since we don't do a restart--we just rewrite the ceph.conf. This also avoids priming our cache with a 'starting' state when the daemon wasn't touched. Fixes: https://tracker.ceph.com/issues/49675 Signed-off-by: Sage Weil --- diff --git a/src/pybind/mgr/cephadm/serve.py b/src/pybind/mgr/cephadm/serve.py index 0c33ce394a15..ac5137f4e1ee 100644 --- a/src/pybind/mgr/cephadm/serve.py +++ b/src/pybind/mgr/cephadm/serve.py @@ -852,15 +852,21 @@ class CephadmServe: ] + daemon_spec.extra_args, stdin=json.dumps(daemon_spec.final_config), image=image) - if not code and daemon_spec.host in self.mgr.cache.daemons: - # prime cached service state with what we (should have) - # just created - sd = daemon_spec.to_daemon_description( - DaemonDescriptionStatus.running, 'starting') - self.mgr.cache.add_daemon(daemon_spec.host, sd) - if daemon_spec.daemon_type in ['grafana', 'iscsi', 'prometheus', 'alertmanager']: - self.mgr.requires_post_actions.add(daemon_spec.daemon_type) - self.mgr.cache.invalidate_host_daemons(daemon_spec.host) + + # refresh daemon state? (ceph daemon reconfig does not need it) + if not reconfig or daemon_spec.daemon_type not in CEPH_TYPES: + if not code and daemon_spec.host in self.mgr.cache.daemons: + # prime cached service state with what we (should have) + # just created + sd = daemon_spec.to_daemon_description( + DaemonDescriptionStatus.running, 'starting') + self.mgr.cache.add_daemon(daemon_spec.host, sd) + if daemon_spec.daemon_type in [ + 'grafana', 'iscsi', 'prometheus', 'alertmanager' + ]: + self.mgr.requires_post_actions.add(daemon_spec.daemon_type) + self.mgr.cache.invalidate_host_daemons(daemon_spec.host) + self.mgr.cache.update_daemon_config_deps( daemon_spec.host, daemon_spec.name(), daemon_spec.deps, start_time) self.mgr.cache.save_host(daemon_spec.host)