From: Aashish Sharma Date: Wed, 1 Apr 2026 10:10:16 +0000 (+0530) Subject: mgr/cephadm: set default prometheus template in config-key store unless X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=32dbed0be14ec2ff0e90bafea17d3ccb7e39e19c;p=ceph.git mgr/cephadm: set default prometheus template in config-key store unless overridden by the user Fixes: https://tracker.ceph.com/issues/75826 Signed-off-by: Aashish Sharma --- diff --git a/src/pybind/mgr/cephadm/services/monitoring.py b/src/pybind/mgr/cephadm/services/monitoring.py index 86f0aa0a8e8..0f0a85f9528 100644 --- a/src/pybind/mgr/cephadm/services/monitoring.py +++ b/src/pybind/mgr/cephadm/services/monitoring.py @@ -627,6 +627,28 @@ class PrometheusService(CephadmService): files = { 'prometheus.yml': self.mgr.template.render('services/prometheus/prometheus.yml.j2', context) } + + # check if the prometheus.yml already exists in the config-key store, + # if not we need to set the initial config-key with the default template content. + # If it already exists, we need not override user config changes. + r, outs, err = self.mgr.mon_command({ + 'prefix': 'config-key get', + 'key': 'mgr/cephadm/services/prometheus/prometheus.yml' + }) + if r == -errno.ENOENT: + loader = self.mgr.template.engine.env.loader + assert loader is not None + + raw_template, _, _ = loader.get_source( + self.mgr.template.engine.env, + 'services/prometheus/prometheus.yml.j2' + ) + self.mgr.check_mon_command({ + 'prefix': 'config-key set', + 'key': 'mgr/cephadm/services/prometheus/prometheus.yml', + 'val': raw_template + }) + r: Dict[str, Any] = { 'files': files, 'retention_time': retention_time,