77from cephadm .schedule import HostAssignment
88from cephadm .utils import SpecialHostLabels
99import rados
10- from mgr_util import parse_combined_pem_file , get_cert_issuer_info
11- from cephadm .tlsobject_types import CertKeyPair
10+ from mgr_util import get_cert_issuer_info
1211
1312from mgr_module import NFS_POOL_NAME
1413from orchestrator import OrchestratorError , DaemonDescription
1514
1615if TYPE_CHECKING :
1716 from .module import CephadmOrchestrator
1817
19- LAST_MIGRATION = 9
18+ LAST_MIGRATION = 8
2019
2120logger = logging .getLogger (__name__ )
2221
@@ -43,9 +42,6 @@ def __init__(self, mgr: "CephadmOrchestrator"):
4342 r = mgr .get_store ('rgw_migration_queue' )
4443 self .rgw_migration_queue = json .loads (r ) if r else []
4544
46- r = mgr .get_store ('rgw_ssl_migration_queue' )
47- self .rgw_ssl_migration_queue = json .loads (r ) if r else []
48-
4945 # for some migrations, we don't need to do anything except for
5046 # incrementing migration_current.
5147 # let's try to shortcut things here.
@@ -126,11 +122,6 @@ def migrate(self, startup: bool = False) -> None:
126122 if self .migrate_7_8 ():
127123 self .set (8 )
128124
129- if self .mgr .migration_current == 8 :
130- logger .info ('Running migration 8 -> 9' )
131- if self .migrate_8_9 ():
132- self .set (9 )
133-
134125 def migrate_0_1 (self ) -> bool :
135126 """
136127 Migration 0 -> 1
@@ -455,16 +446,12 @@ def migrate_6_7(self) -> bool:
455446 grafana_cert = self .mgr .get_store (grafana_cert_path )
456447 grafana_key = self .mgr .get_store (grafana_key_path )
457448 if grafana_cert :
458- (org , cn ) = get_cert_issuer_info (grafana_cert )
459- if org == 'Ceph' :
460- logger .info (f'Migrating { grafana_daemon .name ()} /{ hostname } cert/key to cert store (as cephadm-signed certs)' )
461- self .mgr .cert_mgr .register_self_signed_cert_key_pair ('grafana' )
462- self .mgr .cert_mgr .save_self_signed_cert_key_pair ('grafana' , CertKeyPair (grafana_cert , grafana_key ), host = hostname )
463- else :
449+ org , _ = get_cert_issuer_info (grafana_cert )
450+ if org != 'Ceph' :
464451 logger .info (f'Migrating { grafana_daemon .name ()} /{ hostname } cert/key to cert store (as custom-certs)' )
465452 grafana_cephadm_signed_certs = False
466- self .mgr .cert_mgr .save_cert ('grafana_ssl_cert' , grafana_cert , host = hostname )
467- self .mgr .cert_mgr .save_key ('grafana_ssl_key' , grafana_key , host = hostname )
453+ self .mgr .cert_mgr .save_cert ('grafana_ssl_cert' , grafana_cert , host = hostname , user_made = True , editable = True )
454+ self .mgr .cert_mgr .save_key ('grafana_ssl_key' , grafana_key , host = hostname , user_made = True , editable = True )
468455
469456 if not grafana_cephadm_signed_certs :
470457 # Update the spec to specify the right certificate source
@@ -478,37 +465,6 @@ def migrate_6_7(self) -> bool:
478465 return True
479466
480467 def migrate_7_8 (self ) -> bool :
481- logger .info (f'Starting rgw SSL/TLS migration (queue length is { len (self .rgw_ssl_migration_queue )} )' )
482- for s in self .rgw_ssl_migration_queue :
483-
484- svc_spec = s ['spec' ] # this is the RGWspec
485-
486- if 'spec' not in svc_spec :
487- logger .info (f"No SSL/TLS fields migration is needed for rgw spec: { svc_spec } " )
488- continue
489-
490- cert_field = svc_spec ['spec' ].get ('rgw_frontend_ssl_certificate' )
491- if not cert_field :
492- logger .info (f"No SSL/TLS fields migration is needed for rgw spec: { svc_spec } " )
493- continue
494-
495- cert_str = '\n ' .join (cert_field ) if isinstance (cert_field , list ) else cert_field
496- ssl_cert , ssl_key = parse_combined_pem_file (cert_str )
497- new_spec = svc_spec .copy ()
498- new_spec ['spec' ].update ({
499- 'rgw_frontend_ssl_certificate' : None ,
500- 'certificate_source' : CertificateSource .INLINE .value ,
501- 'ssl_cert' : ssl_cert ,
502- 'ssl_key' : ssl_key ,
503- })
504-
505- logger .info (f"Migrating { svc_spec } to new RGW SSL/TLS format { new_spec } " )
506- self .mgr .spec_store .save (RGWSpec .from_json (new_spec ))
507-
508- self .rgw_ssl_migration_queue = []
509- return True
510-
511- def migrate_8_9 (self ) -> bool :
512468 """
513469 Replace Promtail with Alloy.
514470
@@ -588,15 +544,6 @@ def queue_migrate_rgw_spec(mgr: "CephadmOrchestrator", spec_dict: Dict[Any, Any]
588544 logger .info (f'Queued rgw.{ service_id } for migration' )
589545
590546
591- def queue_migrate_rgw_ssl_spec (mgr : "CephadmOrchestrator" , spec_dict : Dict [Any , Any ]) -> None :
592- service_id = spec_dict ['spec' ]['service_id' ]
593- queued = mgr .get_store ('rgw_ssl_migration_queue' ) or '[]'
594- ls = json .loads (queued )
595- ls .append (spec_dict )
596- mgr .set_store ('rgw_ssl_migration_queue' , json .dumps (ls ))
597- logger .info (f'Queued rgw.{ service_id } for TLS migration' )
598-
599-
600547def queue_migrate_nfs_spec (mgr : "CephadmOrchestrator" , spec_dict : Dict [Any , Any ]) -> None :
601548 """
602549 After 16.2.5 we dropped the NFSServiceSpec pool and namespace properties.
0 commit comments