--- /dev/null
+
+import json
+
+from mgr_module import CommandResult
+from remote_view_cache import RemoteViewCache
+
+
+class CephFSClients(RemoteViewCache):
+ def __init__(self, module_inst, fscid):
+ super(CephFSClients, self).__init__(module_inst)
+
+ self.fscid = fscid
+
+ def _get(self):
+ mds_spec = "{0}:0".format(self.fscid)
+ result = CommandResult("")
+ self._module.send_command(result, "mds", mds_spec,
+ json.dumps({
+ "prefix": "session ls",
+ }),
+ "")
+ r, outb, outs = result.wait()
+ # TODO handle nonzero returns, e.g. when rank isn't active
+ assert r == 0
+ return json.loads(outb)