Skip to content

Commit

Permalink
mgr/dashboard: New API tests for perf_couters
Browse files Browse the repository at this point in the history
Added OSD and MDS tests.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
  • Loading branch information
sebastian-philipp committed Mar 26, 2018
1 parent 80b6ce8 commit 7a7a17c
Showing 1 changed file with 31 additions and 23 deletions.
54 changes: 31 additions & 23 deletions qa/tasks/mgr/dashboard/test_perf_counters.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,38 +19,46 @@ def test_perf_counters_list(self):
for osd in osds:
self.assertIn('osd.{}'.format(osd['osd']), data)

def _validate_perf(self, srv_id, srv_type, data, allow_empty):
self.assertIsInstance(data, dict)
self.assertEqual(srv_type, data['service']['type'])
self.assertEqual(str(srv_id), data['service']['id'])
self.assertIsInstance(data['counters'], list)
if not allow_empty:
self.assertGreater(len(data['counters']), 0)
for counter in data['counters'][0:1]:
self.assertIsInstance(counter, dict)
self.assertIn('description', counter)
self.assertIn('name', counter)
self.assertIn('unit', counter)
self.assertIn('value', counter)


@authenticate
def test_perf_counters_mon_get(self):
mon = self.mons()[0]
data = self._get('/api/perf_counters/mon/{}'.format(mon))
self.assertStatus(200)

self.assertIsInstance(data, dict)
self.assertEqual('mon', data['service']['type'])
self.assertEqual(mon, data['service']['id'])
self.assertIsInstance(data['counters'], list)
self.assertGreater(len(data['counters']), 0)
counter = data['counters'][0]
self.assertIsInstance(counter, dict)
self.assertIn('description', counter)
self.assertIn('name', counter)
self.assertIn('unit', counter)
self.assertIn('value', counter)
self._validate_perf(mon, 'mon', data, allow_empty=False)

@authenticate
def test_perf_counters_mgr_get(self):
mgr = self.mgr_cluster.mgr_ids[0]
data = self._get('/api/perf_counters/mgr/{}'.format(mgr))
self.assertStatus(200)
self._validate_perf(mgr, 'mgr', data, allow_empty=False)

self.assertIsInstance(data, dict)
self.assertEqual('mgr', data['service']['type'])
self.assertEqual(mgr, data['service']['id'])
self.assertIsInstance(data['counters'], list)
self.assertGreater(len(data['counters']), 0)
counter = data['counters'][0]
self.assertIsInstance(counter, dict)
self.assertIn('description', counter)
self.assertIn('name', counter)
self.assertIn('unit', counter)
self.assertIn('value', counter)
@authenticate
def test_perf_counters_mds_get(self):
for mds in self.mds_cluster.mds_ids:
data = self._get('/api/perf_counters/mds/{}'.format(mds))
self.assertStatus(200)
self._validate_perf(mds, 'mds', data, allow_empty=True)

@authenticate
def test_perf_counters_osd_get(self):
for osd in self.ceph_cluster.mon_manager.get_osd_dump():
osd = osd['osd']
data = self._get('/api/perf_counters/osd/{}'.format(osd))
self.assertStatus(200)
self._validate_perf(osd, 'osd', data, allow_empty=False)

0 comments on commit 7a7a17c

Please sign in to comment.