]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/iostat: add self-test 20100/head
authorMohamad Gebai <mgebai@suse.com>
Wed, 14 Mar 2018 16:07:09 +0000 (12:07 -0400)
committerMohamad Gebai <mgebai@suse.com>
Thu, 12 Apr 2018 04:26:24 +0000 (00:26 -0400)
Signed-off-by: Mohamad Gebai <mgebai@suse.com>
qa/tasks/mgr/test_module_selftest.py
src/pybind/mgr/iostat/module.py

index c34cce3b782918fe1fe0c7afa9ba701ee740577c..c984b99589bac6779cc1a7ded8f0c2d366a0e523 100644 (file)
@@ -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")
index 470ba83525c9fbd717cec227843af8efb0550fbc..e42925c8bf8c0ef57428a5dc05571c534cb049d3 100644 (file)
@@ -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