From cc3ae85b05b759fd6ac955d2e798d5fe3a109294 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Tue, 13 Aug 2019 09:54:24 +0800 Subject: [PATCH 1/2] qa/tasks/mgr/dashboard/test_mgr_module: remove enable/disable test from MgrModuleTelemetryTest telemetry is always enabled since 2d62d71cd46d791294b3803e034c0995fef08b33 Fixes: https://tracker.ceph.com/issues/41186 Signed-off-by: Kefu Chai --- qa/tasks/mgr/dashboard/test_mgr_module.py | 34 ----------------------- 1 file changed, 34 deletions(-) diff --git a/qa/tasks/mgr/dashboard/test_mgr_module.py b/qa/tasks/mgr/dashboard/test_mgr_module.py index 0f8a878dc28..4f9722469b9 100644 --- a/qa/tasks/mgr/dashboard/test_mgr_module.py +++ b/qa/tasks/mgr/dashboard/test_mgr_module.py @@ -159,37 +159,3 @@ class MgrModuleTelemetryTest(MgrModuleTestCase): self.assertEqual(data['organization'], 'SUSE Linux') self.assertEqual(data['proxy'], 'foo') self.assertEqual(data['url'], 'https://foo.bar/report') - - def test_enable(self): - self._ceph_cmd(['mgr', 'module', 'disable', 'telemetry']) - self.wait_until_rest_api_accessible() - try: - # Note, an exception is thrown because the Ceph Mgr - # modules are reloaded. - self._post('/api/mgr/module/telemetry/enable') - except requests.ConnectionError: - pass - self.wait_until_rest_api_accessible() - data = self._get('/api/mgr/module') - self.assertStatus(200) - module_info = self.find_object_in_list('name', 'telemetry', data) - self.assertIsNotNone(module_info) - self.assertTrue(module_info['enabled']) - - def test_disable(self): - # Enable the 'telemetry' module (all CephMgr modules are restarted) - # and wait until the Dashboard REST API is accessible. - self._ceph_cmd(['mgr', 'module', 'enable', 'telemetry']) - self.wait_until_rest_api_accessible() - try: - # Note, an exception is thrown because the Ceph Mgr - # modules are reloaded. - self._post('/api/mgr/module/telemetry/disable') - except requests.ConnectionError: - pass - self.wait_until_rest_api_accessible() - data = self._get('/api/mgr/module') - self.assertStatus(200) - module_info = self.find_object_in_list('name', 'telemetry', data) - self.assertIsNotNone(module_info) - self.assertFalse(module_info['enabled']) From 6e6711a1e217042390b379f98c0ec064ab4e2702 Mon Sep 17 00:00:00 2001 From: alfonsomthd Date: Tue, 13 Aug 2019 12:15:38 +0200 Subject: [PATCH 2/2] mgr/dashboard: fix mgr module API tests Signed-off-by: alfonsomthd --- qa/tasks/mgr/dashboard/test_mgr_module.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/qa/tasks/mgr/dashboard/test_mgr_module.py b/qa/tasks/mgr/dashboard/test_mgr_module.py index 4f9722469b9..154700e0b70 100644 --- a/qa/tasks/mgr/dashboard/test_mgr_module.py +++ b/qa/tasks/mgr/dashboard/test_mgr_module.py @@ -12,11 +12,6 @@ logger = logging.getLogger(__name__) class MgrModuleTestCase(DashboardTestCase): MGRS_REQUIRED = 1 - @classmethod - def tearDownClass(cls): - cls._ceph_cmd(['mgr', 'module', 'disable', 'telemetry']) - super(MgrModuleTestCase, cls).tearDownClass() - def wait_until_rest_api_accessible(self): """ Wait until the REST API is accessible. @@ -37,7 +32,7 @@ class MgrModuleTestCase(DashboardTestCase): class MgrModuleTest(MgrModuleTestCase): def test_list_disabled_module(self): - self._ceph_cmd(['mgr', 'module', 'disable', 'telemetry']) + self._ceph_cmd(['mgr', 'module', 'disable', 'iostat']) self.wait_until_rest_api_accessible() data = self._get('/api/mgr/module') self.assertStatus(200) @@ -65,12 +60,12 @@ class MgrModuleTest(MgrModuleTestCase): 'tags': JList(str) })) }))) - module_info = self.find_object_in_list('name', 'telemetry', data) + module_info = self.find_object_in_list('name', 'iostat', data) self.assertIsNotNone(module_info) self.assertFalse(module_info['enabled']) def test_list_enabled_module(self): - self._ceph_cmd(['mgr', 'module', 'enable', 'telemetry']) + self._ceph_cmd(['mgr', 'module', 'enable', 'iostat']) self.wait_until_rest_api_accessible() data = self._get('/api/mgr/module') self.assertStatus(200) @@ -98,7 +93,7 @@ class MgrModuleTest(MgrModuleTestCase): 'tags': JList(str) })) }))) - module_info = self.find_object_in_list('name', 'telemetry', data) + module_info = self.find_object_in_list('name', 'iostat', data) self.assertIsNotNone(module_info) self.assertTrue(module_info['enabled']) @@ -110,6 +105,7 @@ class MgrModuleTelemetryTest(MgrModuleTestCase): self.assertSchema( data, JObj( + allow_unknown=True, sub_elems={ 'channel_basic': bool, 'channel_ident': bool, @@ -119,6 +115,7 @@ class MgrModuleTelemetryTest(MgrModuleTestCase): 'description': str, 'enabled': bool, 'interval': int, + 'last_opt_revision': int, 'leaderboard': bool, 'organization': str, 'proxy': str,