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,