From: Mohamad Gebai Date: Wed, 14 Mar 2018 16:07:09 +0000 (-0400) Subject: mgr/iostat: add self-test X-Git-Tag: v13.1.0~254^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fb638381b23e77b061dc2f2ef8bb28e0f69caada;p=ceph.git mgr/iostat: add self-test Signed-off-by: Mohamad Gebai --- diff --git a/qa/tasks/mgr/test_module_selftest.py b/qa/tasks/mgr/test_module_selftest.py index c34cce3b7829..c984b99589ba 100644 --- a/qa/tasks/mgr/test_module_selftest.py +++ b/qa/tasks/mgr/test_module_selftest.py @@ -42,6 +42,9 @@ class TestModuleSelftest(MgrTestCase): def test_influx(self): self._selftest_plugin("influx") + def test_iostat(self): + self._selftest_plugin("iostat") + def test_selftest_run(self): self._load_module("selftest") self.mgr_cluster.mon_manager.raw_cluster_cmd("mgr", "self-test", "run") diff --git a/src/pybind/mgr/iostat/module.py b/src/pybind/mgr/iostat/module.py index 470ba83525c9..e42925c8bf8c 100644 --- a/src/pybind/mgr/iostat/module.py +++ b/src/pybind/mgr/iostat/module.py @@ -9,6 +9,11 @@ class Module(MgrModule): "desc": "Get IO rates", "perm": "r", "poll": "true" + }, + { + "cmd": "iostat self-test", + "desc": "Run a self test the iostat module", + "perm": "r" } ] @@ -21,6 +26,7 @@ class Module(MgrModule): rd = 0 wr = 0 ops = 0 + ret = '' if command['prefix'] == 'iostat': r = self.get('io_rate') @@ -31,6 +37,17 @@ class Module(MgrModule): wr = int(r['pg_stats_delta']['stat_sum']['num_write_kb']) / stamp_delta ops = ( int(r['pg_stats_delta']['stat_sum']['num_write']) + int(r['pg_stats_delta']['stat_sum']['num_read']) ) / stamp_delta - ret = "wr: {0} kB/s, rd: {1} kB/s, iops: {2}".format(str(int(wr)), str(int(rd)), str(int(ops))) + ret = "wr: {0} kB/s, rd: {1} kB/s, iops: {2}".format(int(wr), int(rd), int(ops)) + + elif command['prefix'] == 'iostat self-test': + r = self.get('io_rate') + assert('pg_stats_delta' in r) + assert('stamp_delta' in r['pg_stats_delta']) + assert('stat_sum' in r['pg_stats_delta']) + assert('num_read_kb' in r['pg_stats_delta']['stat_sum']) + assert('num_write_kb' in r['pg_stats_delta']['stat_sum']) + assert('num_write' in r['pg_stats_delta']['stat_sum']) + assert('num_read' in r['pg_stats_delta']['stat_sum']) + ret = 'iostat self-test OK' return 0, '', ret