return
mds_versions[metadata.get('ceph_version', 'unknown')].append(metadata_key)
+ def _find_standby_replays(self, mdsmap_info, rank_table):
+ # pylint: disable=unused-variable
+ for gid_str, daemon_info in mdsmap_info.items():
+ if daemon_info['state'] != "up:standby-replay":
+ continue
+
+ inos = mgr.get_latest("mds", daemon_info['name'], "mds_mem.ino")
+ dns = mgr.get_latest("mds", daemon_info['name'], "mds_mem.dn")
+ dirs = mgr.get_latest("mds", daemon_info['name'], "mds_mem.dir")
+ caps = mgr.get_latest("mds", daemon_info['name'], "mds_mem.cap")
+
+ activity = CephService.get_rate(
+ "mds", daemon_info['name'], "mds_log.replay")
+
+ rank_table.append(
+ {
+ "rank": "{0}-s".format(daemon_info['rank']),
+ "state": "standby-replay",
+ "mds": daemon_info['name'],
+ "activity": activity,
+ "dns": dns,
+ "inos": inos,
+ "dirs": dirs,
+ "caps": caps
+ }
+ )
+
+ def get_standby_table(self, standbys, mds_versions):
+ standby_table = []
+ for standby in standbys:
+ self._append_mds_metadata(mds_versions, standby['name'])
+ standby_table.append({
+ 'name': standby['name']
+ })
+ return standby_table
+
# pylint: disable=too-many-statements,too-many-branches
def fs_status(self, fs_id):
mds_versions: dict = defaultdict(list)
dirs = mgr.get_latest("mds", info['name'], "mds_mem.dir")
caps = mgr.get_latest("mds", info['name'], "mds_mem.cap")
- if rank == 0:
- client_count = mgr.get_latest("mds", info['name'],
- "mds_sessions.session_count")
- elif client_count == 0:
- # In case rank 0 was down, look at another rank's
- # sessionmap to get an indication of clients.
+ # In case rank 0 was down, look at another rank's
+ # sessionmap to get an indication of clients.
+ if rank == 0 or client_count == 0:
client_count = mgr.get_latest("mds", info['name'],
"mds_sessions.session_count")
}
)
- # Find the standby replays
- # pylint: disable=unused-variable
- for gid_str, daemon_info in mdsmap['info'].items():
- if daemon_info['state'] != "up:standby-replay":
- continue
-
- inos = mgr.get_latest("mds", daemon_info['name'], "mds_mem.ino")
- dns = mgr.get_latest("mds", daemon_info['name'], "mds_mem.dn")
- dirs = mgr.get_latest("mds", daemon_info['name'], "mds_mem.dir")
- caps = mgr.get_latest("mds", daemon_info['name'], "mds_mem.cap")
-
- activity = CephService.get_rate(
- "mds", daemon_info['name'], "mds_log.replay")
-
- rank_table.append(
- {
- "rank": "{0}-s".format(daemon_info['rank']),
- "state": "standby-replay",
- "mds": daemon_info['name'],
- "activity": activity,
- "dns": dns,
- "inos": inos,
- "dirs": dirs,
- "caps": caps
- }
- )
+ self._find_standby_replays(mdsmap['info'], rank_table)
df = mgr.get("df")
pool_stats = {p['id']: p['stats'] for p in df['pools']}
"avail": stats['max_avail']
})
- standby_table = []
- for standby in fsmap['standbys']:
- self._append_mds_metadata(mds_versions, standby['name'])
- standby_table.append({
- 'name': standby['name']
- })
+ standby_table = self.get_standby_table(fsmap['standbys'], mds_versions)
return {
"cephfs": {
raise cherrypy.HTTPError(404,
"Client {0} does not exist in cephfs {1}".format(client_id,
fs_id))
+ filters = [f'id={client_id}']
CephService.send_command('mds', 'client evict',
- srv_spec='{0}:0'.format(fs_id), id=client_id)
+ srv_spec='{0}:0'.format(fs_id), filters=filters)
@staticmethod
def _cephfs_instance(fs_id):