]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: fix dashboard instance ssl certificate functionality 40001/head
authorAvan Thakkar <athakkar@redhat.com>
Tue, 16 Feb 2021 22:25:29 +0000 (03:55 +0530)
committerAvan Thakkar <athakkar@localhost.localdomain>
Wed, 10 Mar 2021 14:14:14 +0000 (19:44 +0530)
Fixes: https://tracker.ceph.com/issues/46542
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit 0a88c62e76f80a4ad9c01a91161b77ac6f073ed4)

 Conflicts:
src/pybind/mgr/mgr_module.py
      - Adopting the master branch changes.

src/pybind/mgr/dashboard/module.py
src/pybind/mgr/mgr_module.py

index 136252e01374c2efee6997f7964b2dbcf959d04b..0b0295263d3cfb2a7c376a761a374ee61649c6f8 100644 (file)
@@ -148,7 +148,7 @@ class CherryPyConfig(object):
 
         if use_ssl:
             # SSL initialization
-            cert = self.get_store("crt")  # type: ignore
+            cert = self.get_localized_store("crt")  # type: ignore
             if cert is not None:
                 self.cert_tmp = tempfile.NamedTemporaryFile()
                 self.cert_tmp.write(cert.encode('utf-8'))
@@ -157,7 +157,7 @@ class CherryPyConfig(object):
             else:
                 cert_fname = self.get_localized_module_option('crt_file')  # type: ignore
 
-            pkey = self.get_store("key")  # type: ignore
+            pkey = self.get_localized_store("key")  # type: ignore
             if pkey is not None:
                 self.pkey_tmp = tempfile.NamedTemporaryFile()
                 self.pkey_tmp.write(pkey.encode('utf-8'))
index 937cf5c30f876c129a400198f928cf0bcbfbf220..5a830f7eaab7d12f42d8fc662be078ed201cd9d8 100644 (file)
@@ -673,6 +673,14 @@ class MgrStandbyModule(ceph_module.BaseMgrStandbyModule, MgrModuleLoggingMixin):
         """
         return self._ceph_get_store(key)
 
+    def get_localized_store(self, key: str, default: Optional[str] = None) -> Optional[str]:
+        r = self._ceph_get_store(_get_localized_key(self.get_mgr_id(), key))
+        if r is None:
+            r = self._ceph_get_store(key)
+            if r is None:
+                r = default
+        return r
+
     def get_active_uri(self):
         return self._ceph_get_active_uri()