from threading import Event
from functools import wraps
-from mgr_util import create_self_signed_cert
+from mgr_util import create_self_signed_cert, verify_tls, ServerConfigException
import string
try:
for dd in self.cache.get_daemons_by_service('prometheus'):
prom_services.append(dd.hostname)
deps.append(dd.name())
- cert, pkey = create_self_signed_cert('Ceph', 'cephadm')
+
+ cert = self.get_store('grafana_crt')
+ pkey = self.get_store('grafana_key')
+ if cert and pkey:
+ try:
+ verify_tls(cert, pkey)
+ except ServerConfigException as e:
+ logger.warning('Provided grafana TLS certificates invalid: %s', str(e))
+ cert, pkey = None, None
+ if not (cert and pkey):
+ cert, pkey = create_self_signed_cert('Ceph', 'cephadm')
+ self.set_store('grafana_crt', cert)
+ self.set_store('grafana_key', pkey)
+
config_file = {
'files': {
"grafana.ini": """# generated by cephadm