"""
return self._ceph_get_server(None)
- def get_metadata(self, svc_type, svc_id):
+ def get_metadata(self, svc_type, svc_id, default=None):
"""
Fetch the daemon metadata for a particular service.
calling this
:rtype: dict, or None if no metadata found
"""
- return self._ceph_get_metadata(svc_type, svc_id)
+ metadata = self._ceph_get_metadata(svc_type, svc_id)
+ if metadata is None:
+ return default
+ return metadata
def get_daemon_status(self, svc_type, svc_id):
"""
5
) + "/s"
- metadata = self.get_metadata('mds', info['name'])
- version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
- mds_versions[version].append(info['name'])
+ defaults = defaultdict(lambda: None, {'version' : 'unknown'})
+ metadata = self.get_metadata('mds', info['name'], default=defaults)
+ mds_versions[metadata['ceph_version']].append(info['name'])
rank_table.add_row([
mgr_util.bold(rank.__str__()), c_state, info['name'],
activity,
5
) + "/s"
- metadata = self.get_metadata('mds', daemon_info['name'])
- version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
- mds_versions[version].append(daemon_info['name'])
+ defaults = defaultdict(lambda: None, {'version' : 'unknown'})
+ metadata = self.get_metadata('mds', daemon_info['name'], default=defaults)
+ mds_versions[metadata['ceph_version']].append(daemon_info['name'])
rank_table.add_row([
"{0}-s".format(daemon_info['rank']), "standby-replay",
standby_table = PrettyTable(["Standby MDS"])
for standby in fsmap['standbys']:
- metadata = self.get_metadata('mds', standby['name'])
- version = metadata.get('ceph_version', 'unknown') if metadata else 'unknown'
- mds_versions[version].append(standby['name'])
+ defaults = defaultdict(lambda: None, {'version' : 'unknown'})
+ metadata = self.get_metadata('mds', standby['name'], default=defaults)
+ mds_versions[metadata['ceph_version']].append(standby['name'])
standby_table.add_row([standby['name']])
kb_avail = 0
if osd_id in osd_stats:
- metadata = self.get_metadata('osd', "%s" % osd_id)
+ defaults = defaultdict(lambda: None, {'hostname' : ''})
+ metadata = self.get_metadata('osd', str(osd_id), default=defaults)
stats = osd_stats[osd_id]
hostname = metadata['hostname']
kb_used = stats['kb_used'] * 1024