Skip to content

Commit ade502d

Browse files
committed
mgr/cephadm: removing call to previous method to storing all certs
Signed-off-by: Redouane Kachach <[email protected]>
1 parent e93dd30 commit ade502d

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

src/pybind/mgr/cephadm/inventory.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@
2424
from ceph.utils import str_to_datetime, datetime_to_str, datetime_now
2525
from orchestrator import OrchestratorError, HostSpec, OrchestratorEvent, service_to_daemon_types
2626
from cephadm.services.cephadmservice import CephadmDaemonDeploySpec
27+
from mgr_util import parse_combined_pem_file
2728

2829
from .utils import resolve_ip, SpecialHostLabels
29-
from .migrations import queue_migrate_nfs_spec, queue_migrate_rgw_spec
30+
from .migrations import queue_migrate_nfs_spec, queue_migrate_rgw_spec, queue_migrate_rgw_ssl_spec
3031

3132
if TYPE_CHECKING:
3233
from .module import CephadmOrchestrator
@@ -308,6 +309,12 @@ def load(self):
308309
):
309310
queue_migrate_rgw_spec(self.mgr, j)
310311

312+
if (
313+
(self.mgr.migration_current or 0) < 8
314+
and j['spec'].get('service_type') == 'rgw'
315+
):
316+
queue_migrate_rgw_ssl_spec(self.mgr, j)
317+
311318
spec = ServiceSpec.from_json(j['spec'])
312319
created = str_to_datetime(cast(str, j['created']))
313320
self._specs[service_name] = spec
@@ -361,7 +368,6 @@ def save(
361368
if update_create:
362369
self.spec_created[name] = datetime_now()
363370
self._save(name)
364-
self._save_certs_and_keys(spec)
365371

366372
def save_rank_map(self,
367373
name: str,
@@ -400,11 +406,20 @@ def _save_certs_and_keys(self, spec: ServiceSpec) -> None:
400406
else:
401407
cert_str = rgw_cert
402408
assert isinstance(cert_str, str)
403-
self.mgr.cert_mgr.save_cert(
404-
'rgw_frontend_ssl_cert',
405-
cert_str,
406-
service_name=rgw_spec.service_name(),
407-
user_made=True)
409+
cert, key = parse_combined_pem_file(cert_str)
410+
if cert and key:
411+
self.mgr.cert_mgr.save_cert(
412+
'rgw_ssl_cert',
413+
cert,
414+
service_name=rgw_spec.service_name(),
415+
user_made=True)
416+
self.mgr.cert_mgr.save_key(
417+
'rgw_ssl_key',
418+
key,
419+
service_name=rgw_spec.service_name(),
420+
user_made=True)
421+
else:
422+
logger.error(f'Cannot parse the rgw certificate {cert_str}.')
408423
elif spec.service_type == 'iscsi':
409424
iscsi_spec = cast(IscsiServiceSpec, spec)
410425
if iscsi_spec.ssl_cert:
@@ -476,7 +491,6 @@ def finally_rm(self, service_name):
476491
# type: (str) -> bool
477492
found = service_name in self._specs
478493
if found:
479-
self._rm_certs_and_keys(self._specs[service_name])
480494
del self._specs[service_name]
481495
if service_name in self._rank_maps:
482496
del self._rank_maps[service_name]

0 commit comments

Comments
 (0)