from collections import defaultdict
from prettytable import PrettyTable
-import prettytable
-import fnmatch
import errno
+import fnmatch
+import prettytable
+import six
from mgr_module import MgrModule
])
# Find the standby replays
- for gid_str, daemon_info in mdsmap['info'].iteritems():
+ for gid_str, daemon_info in six.iteritems(mdsmap['info']):
if daemon_info['state'] != "up:standby-replay":
continue
output += "MDS version: {0}".format(mds_versions.keys()[0])
else:
version_table = PrettyTable(["version", "daemons"])
- for version, daemons in mds_versions.iteritems():
+ for version, daemons in six.iteritems(mds_versions):
version_table.add_row([
version,
", ".join(daemons)
return 0, "", output
def handle_osd_status(self, cmd):
- osd_table = PrettyTable(['id', 'host', 'used', 'avail', 'wr ops', 'wr data', 'rd ops', 'rd data'])
+ osd_table = PrettyTable(['id', 'host', 'used', 'avail', 'wr ops', 'wr data', 'rd ops', 'rd data', 'state'])
osdmap = self.get("osd_map")
filter_osds = set()
if bucket_filter and osd_id not in filter_osds:
continue
- metadata = self.get_metadata('osd', "%s" % osd_id)
- stats = osd_stats[osd_id]
+ hostname = ""
+ kb_used = 0
+ kb_avail = 0
+
+ if osd_id in osd_stats:
+ metadata = self.get_metadata('osd', "%s" % osd_id)
+ stats = osd_stats[osd_id]
+ hostname = metadata['hostname']
+ kb_used = stats['kb_used'] * 1024
+ kb_avail = stats['kb_avail'] * 1024
- osd_table.add_row([osd_id, metadata['hostname'],
- self.format_bytes(stats['kb_used'] * 1024, 5),
- self.format_bytes(stats['kb_avail'] * 1024, 5),
+ osd_table.add_row([osd_id, hostname,
+ self.format_bytes(kb_used, 5),
+ self.format_bytes(kb_avail, 5),
self.format_dimless(self.get_rate("osd", osd_id.__str__(), "osd.op_w") +
self.get_rate("osd", osd_id.__str__(), "osd.op_rw"), 5),
self.format_bytes(self.get_rate("osd", osd_id.__str__(), "osd.op_in_bytes"), 5),
self.format_dimless(self.get_rate("osd", osd_id.__str__(), "osd.op_r"), 5),
self.format_bytes(self.get_rate("osd", osd_id.__str__(), "osd.op_out_bytes"), 5),
+ ','.join(osd['state']),
])
return 0, "", osd_table.get_string()