Skip to content

Commit 154307e

Browse files
committed
Allow passing ssl_certificate as an rgw_frontend_extra_arg.
Fixes: https://tracker.ceph.com/issues/69567 Signed-off-by: Alexander Hussein-Kershaw <[email protected]> fix markup
1 parent 11086d8 commit 154307e

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

src/pybind/mgr/cephadm/services/cephadmservice.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,6 +1078,17 @@ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonD
10781078
# configure frontend
10791079
args = []
10801080
ftype = spec.rgw_frontend_type or "beast"
1081+
1082+
# if an ssl_certificate arg was passed as part of rgw_frontend_extra_args
1083+
# then we shouldn't add it automatically else the rgw won't start
1084+
extra_ssl_cert_provided = any(
1085+
arg.startswith("ssl_certificate=")
1086+
for arg in (spec.rgw_frontend_extra_args or [])
1087+
)
1088+
1089+
if extra_ssl_cert_provided and spec.generate_cert:
1090+
raise OrchestratorError("Cannot provide ssl_certificate in combination with generate_cert")
1091+
10811092
if ftype == 'beast':
10821093
if spec.ssl:
10831094
if daemon_spec.ip:
@@ -1087,7 +1098,7 @@ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonD
10871098
args.append(f"ssl_port={port}")
10881099
if spec.generate_cert:
10891100
args.append(f"ssl_certificate=config://rgw/cert/{daemon_spec.name()}")
1090-
else:
1101+
elif not extra_ssl_cert_provided:
10911102
args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}")
10921103
else:
10931104
if daemon_spec.ip:
@@ -1103,7 +1114,7 @@ def prepare_create(self, daemon_spec: CephadmDaemonDeploySpec) -> CephadmDaemonD
11031114
args.append(f"port={port}s") # note the 's' suffix on port
11041115
if spec.generate_cert:
11051116
args.append(f"ssl_certificate=config://rgw/cert/{daemon_spec.name()}")
1106-
else:
1117+
elif not extra_ssl_cert_provided:
11071118
args.append(f"ssl_certificate=config://rgw/cert/{spec.service_name()}")
11081119
else:
11091120
if daemon_spec.ip:

0 commit comments

Comments
 (0)