]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fall back to server_cert 58553/head
authorNizamudeen A <nia@redhat.com>
Mon, 27 May 2024 04:35:21 +0000 (10:05 +0530)
committerAdam King <adking@redhat.com>
Fri, 12 Jul 2024 13:09:40 +0000 (09:09 -0400)
if root_ca is not found

Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 0a393ca9bde714524da369caaef1c097472f791c)
(cherry picked from commit 5a89eae68c1b4004832a6c2dfe3f1f54fd72c3a1)

src/pybind/mgr/dashboard/services/nvmeof_conf.py

index 5777d33750f14a57bfa452602bd927d38d3af619..3879e308db4714bbd69f75dd79bb5ded32e7dc9d 100644 (file)
@@ -87,8 +87,17 @@ class NvmeofGatewaysConfig(object):
 
     @classmethod
     def get_root_ca_cert(cls, service_name: str):
-        root_ca_cert = cls.from_cert_store('nvmeof_root_ca_cert', service_name)
-        return root_ca_cert.encode() if root_ca_cert else None
+        try:
+            root_ca_cert = cls.from_cert_store('nvmeof_root_ca_cert', service_name)
+            return root_ca_cert.encode()
+        except DashboardException:
+            # If root_ca_cert is not set, use server_cert as root_ca_cert
+            return cls.get_server_cert(service_name)
+
+    @classmethod
+    def get_server_cert(cls, service_name: str):
+        server_cert = cls.from_cert_store('nvmeof_server_cert', service_name)
+        return server_cert.encode() if server_cert else None
 
     @classmethod
     def from_cert_store(cls, entity: str, service_name: str, key=False):