]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/cephadm: Remove Grafana self-signed certificate migration logic
authorRedouane Kachach <rkachach@ibm.com>
Thu, 18 Sep 2025 08:34:52 +0000 (10:34 +0200)
committerRedouane Kachach <rkachach@ibm.com>
Thu, 25 Sep 2025 15:26:22 +0000 (17:26 +0200)
Remove the code used to migrate Grafana self-signed certificates, as
it is no longer needed. The certmgr logic now handles generating new
certificates during the upgrade, eliminating the need for any migration
code or logic.

Signed-off-by: Redouane Kachach <rkachach@ibm.com>
src/pybind/mgr/cephadm/migrations.py
src/pybind/mgr/cephadm/tests/test_migration.py

index 6daa438459b3fe16380c6998aa5a841ff3f71e44..d2831ec46da76948c53b8167292fc32ed5ac71a5 100644 (file)
@@ -446,16 +446,12 @@ class Migrations:
             grafana_cert = self.mgr.get_store(grafana_cert_path)
             grafana_key = self.mgr.get_store(grafana_key_path)
             if grafana_cert:
-                (org, cn) = get_cert_issuer_info(grafana_cert)
-                if org == 'Ceph':
-                    logger.info(f'Migrating {grafana_daemon.name()}/{hostname} cert/key to cert store (as cephadm-signed certs)')
-                    self.mgr.cert_mgr.register_self_signed_cert_key_pair('grafana')
-                    self.mgr.cert_mgr.save_self_signed_cert_key_pair('grafana', CertKeyPair(grafana_cert, grafana_key), host=hostname)
-                else:
+                org, _ = get_cert_issuer_info(grafana_cert)
+                if org != 'Ceph':
                     logger.info(f'Migrating {grafana_daemon.name()}/{hostname} cert/key to cert store (as custom-certs)')
                     grafana_cephadm_signed_certs = False
-                    self.mgr.cert_mgr.save_cert('grafana_ssl_cert', grafana_cert, host=hostname)
-                    self.mgr.cert_mgr.save_key('grafana_ssl_key', grafana_key, host=hostname)
+                    self.mgr.cert_mgr.save_cert('grafana_ssl_cert', grafana_cert, host=hostname, user_made=True, editable=True)
+                    self.mgr.cert_mgr.save_key('grafana_ssl_key', grafana_key, host=hostname, user_made=True, editable=True)
 
         if not grafana_cephadm_signed_certs:
             # Update the spec to specify the right certificate source
index 775077de2c02d3412772a7078bdc8a77f1244945..6e74ad6df760441670229acea98cf069e801be50 100644 (file)
@@ -8,7 +8,8 @@ from ceph.deployment.service_spec import (
     RGWSpec,
     IngressSpec,
     IscsiServiceSpec,
-    GrafanaSpec
+    GrafanaSpec,
+    CertificateSource
 )
 from ceph.utils import datetime_to_str, datetime_now
 from cephadm import CephadmOrchestrator
@@ -402,25 +403,6 @@ def test_migrate_rgw_spec(cephadm_module: CephadmOrchestrator, rgw_spec_store_en
             assert 'rgw.foo' not in cephadm_module.spec_store.all_specs
 
 
-@mock.patch('cephadm.migrations.get_cert_issuer_info')
-def test_migrate_grafana_cephadm_signed(mock_get_cert_issuer_info, cephadm_module: CephadmOrchestrator):
-    mock_get_cert_issuer_info.return_value = ('Ceph', 'MockCephCN')
-
-    cephadm_module.set_store('host1/grafana_crt', 'grafana_cert1')
-    cephadm_module.set_store('host1/grafana_key', 'grafana_key1')
-    cephadm_module.set_store('host2/grafana_crt', 'grafana_cert2')
-    cephadm_module.set_store('host2/grafana_key', 'grafana_key2')
-    cephadm_module.cache.daemons = {'host1': {'grafana.host1': DaemonDescription('grafana', 'host1', 'host1')},
-                                    'host2': {'grafana.host2': DaemonDescription('grafana', 'host2', 'host2')}}
-
-    cephadm_module.migration.migrate_6_7()
-
-    assert cephadm_module.cert_mgr.get_cert('cephadm-signed_grafana_cert', host='host1')
-    assert cephadm_module.cert_mgr.get_cert('cephadm-signed_grafana_cert', host='host2')
-    assert cephadm_module.cert_mgr.get_key('cephadm-signed_grafana_key', host='host1')
-    assert cephadm_module.cert_mgr.get_key('cephadm-signed_grafana_key', host='host2')
-
-
 @mock.patch('cephadm.migrations.get_cert_issuer_info')
 def test_migrate_grafana_custom_certs(mock_get_cert_issuer_info, cephadm_module: CephadmOrchestrator):
     from datetime import datetime, timezone
@@ -445,6 +427,7 @@ def test_migrate_grafana_custom_certs(mock_get_cert_issuer_info, cephadm_module:
     assert cephadm_module.cert_mgr.get_cert('grafana_ssl_cert', host='host2')
     assert cephadm_module.cert_mgr.get_key('grafana_ssl_key', host='host1')
     assert cephadm_module.cert_mgr.get_key('grafana_ssl_key', host='host2')
+    assert cephadm_module.spec_store._specs['grafana'].certificate_source == CertificateSource.REFERENCE.value
 
 
 def test_migrate_cert_store(cephadm_module: CephadmOrchestrator):