]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: set default prometheus template in config-key store unless
authorAashish Sharma <aashish@li-e9bf2ecc-2ad7-11b2-a85c-baf05c5182ab.ibm.com>
Wed, 1 Apr 2026 10:10:16 +0000 (15:40 +0530)
committerAashish Sharma <aashish@li-e9bf2ecc-2ad7-11b2-a85c-baf05c5182ab.ibm.com>
Tue, 9 Jun 2026 04:21:28 +0000 (09:51 +0530)
overridden by the user

Fixes: https://tracker.ceph.com/issues/75826
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
src/pybind/mgr/cephadm/services/monitoring.py

index 86f0aa0a8e88ef05ed84c18e98d65db7c6b7be60..0f0a85f95286806bed292257ea4963fe6b85cb4d 100644 (file)
@@ -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,