Check db_ready before trying to fetch prometheus metrics and smb status (from dashboard)
Fixes: https://tracker.ceph.com/issues/76151
Signed-off-by: Pedro Gonzalez Gomez <pegonzal@ibm.com>
def status(self):
status = {'available': False, 'message': None}
try:
+ if not mgr.remote('smb', 'db_ready'):
+ status['message'] = 'SMB DB not ready. SMB module is unavailable.'
+ return status
mgr.remote('smb', 'show', ['ceph.smb.cluster'])
status['available'] = True
except (ImportError, RuntimeError):
self.log.debug("Orchestrator not available")
return
+ try:
+ if not self.remote('smb', 'db_ready'):
+ self.log.debug(
+ "SMB DB not ready, skipping SMB metadata collection"
+ )
+ return
+ except Exception as e:
+ self.log.debug(f"SMB DB readiness check failed: {str(e)}")
+ return
+
smb_version = ""
try: