The rados store is created when the service is deployed.
Also fix a typo identified in _lazy_init()
Signed-off-by: Sachin Prabhu <sp@spui.uk>
(cherry picked from commit
4fc592eb64cce763f155d485330ea7cc342b3eb7)
Resolves: rhbz#
2380412
Signed-off-by: Sachin Prabhu <sprabhu@redhat.com>
def rados_object(mgr: 'MgrModule', uri: str) -> Iterator[ClusterMeta]:
"""Return a cluster meta object that will store persistent data in rados."""
pool, ns, objname = rados_store.parse_uri(uri)
- store = rados_store.RADOSConfigStore.init(mgr, pool)
+ store = rados_store.RADOSConfigStore.lazy_init(mgr, pool)
cmeta = ClusterMeta()
previous = {}
self._priv_store = priv_store or mon_store.MonKeyConfigStore(self)
# self._public_store = public_store or mon_store.MonKeyConfigStore(self)
self._public_store = (
- public_store or rados_store.RADOSConfigStore.init(self)
+ public_store or rados_store.RADOSConfigStore.lazy_init(self)
)
path_resolver = path_resolver or fs.CachingCephFSPathResolver(self)
earmark_resolver = earmark_resolver or CephFSEarmarkResolver(self)
def _lazy_init(self) -> None:
if self._init_cb:
- self._init_cb
+ self._init_cb()
self._init_cb = None
def __getitem__(self, key: EntryKey) -> RADOSConfigEntry: