]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/cephadm: fix nvmeof server/client cert/key fields setting
authorRedouane Kachach <rkachach@ibm.com>
Tue, 13 Jan 2026 16:15:07 +0000 (17:15 +0100)
committerRedouane Kachach <rkachach@ibm.com>
Tue, 14 Apr 2026 12:15:27 +0000 (14:15 +0200)
Do not populate server/client certificates or keys from the spec when
the certificate_source is cephadm-signed or reference. In those cases,
the spec does not include those fields.

Fixes: https://tracker.ceph.com/issues/74377
Signed-off-by: Redouane Kachach <rkachach@ibm.com>
src/python-common/ceph/deployment/service_spec.py

index 5029573252ad846e20e43a393d44b6e7ce53e243..69cd85b27fac06a25dcbeefe5f156ddc277ef761 100644 (file)
@@ -2014,18 +2014,19 @@ class NvmeofServiceSpec(ServiceSpec):
         data = super().to_json()
         spec = data.setdefault('spec', {})
 
-        if self.ssl:
-            if self.server_cert and self.server_key:
-                spec['server_cert'] = self.server_cert
-                spec['server_key'] = self.server_key
-            else:
-                spec['ssl_cert'] = self.ssl_cert
-                spec['ssl_key'] = self.ssl_key
+        if self.certificate_source == CertificateSource.INLINE.value:
+            if self.ssl:
+                if self.server_cert and self.server_key:
+                    spec['server_cert'] = self.server_cert
+                    spec['server_key'] = self.server_key
+                else:
+                    spec['ssl_cert'] = self.ssl_cert
+                    spec['ssl_key'] = self.ssl_key
 
-        if self.enable_auth:
-            spec['client_cert'] = self.client_cert
-            spec['client_key'] = self.client_key
-            spec['root_ca_cert'] = self.root_ca_cert
+            if self.enable_auth:
+                spec['client_cert'] = self.client_cert
+                spec['client_key'] = self.client_key
+                spec['root_ca_cert'] = self.root_ca_cert
 
         return data