]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: refactor '_get_mon_allow_pool_delete_config'
authorTatjana Dehler <tdehler@suse.com>
Fri, 29 Jun 2018 10:50:42 +0000 (12:50 +0200)
committerTatjana Dehler <tdehler@suse.com>
Tue, 9 Oct 2018 12:47:24 +0000 (14:47 +0200)
Refactor '_get_mon_allow_pool_delete_config' method to be a little bit
more general. The method can now be used to get the value of every
config option known to the cluster.

Signed-off-by: Tatjana Dehler <tdehler@suse.com>
qa/tasks/mgr/dashboard/test_cluster_configuration.py

index 7aa94badc3925f8af4dfa2662ca5e339e10c1bd0..89cc4f14dda420b2b0b5c83f671e94e83d8dc65d 100644 (file)
@@ -25,28 +25,23 @@ class ClusterConfigurationTest(DashboardTestCase):
         self.assertStatus(404)
 
     def test_get_specific_db_config_option(self):
-        def _get_mon_allow_pool_delete_config():
-            data = self._get('/api/cluster_conf/mon_allow_pool_delete')
-            if 'value' in data:
-                return data['value'][0]
-            return None
+        config_name = 'mon_allow_pool_delete'
 
-        orig_value = _get_mon_allow_pool_delete_config()
+        orig_value = self._get_config_by_name(config_name)
 
-        self._ceph_cmd(['config', 'set', 'mon', 'mon_allow_pool_delete', 'true'])
-        result = self._wait_for_expected_get_result(_get_mon_allow_pool_delete_config,
-                                                    {'section': 'mon', 'value': 'true'})
-        self.assertEqual(result, {'section': 'mon', 'value': 'true'})
+        self._ceph_cmd(['config', 'set', 'mon', config_name, 'true'])
+        result = self._wait_for_expected_get_result(self._get_config_by_name, config_name,
+                                                    [{'section': 'mon', 'value': 'true'}])
+        self.assertEqual(result, [{'section': 'mon', 'value': 'true'}])
 
-        self._ceph_cmd(['config', 'set', 'mon', 'mon_allow_pool_delete', 'false'])
-        result = self._wait_for_expected_get_result(_get_mon_allow_pool_delete_config,
-                                                    {'section': 'mon', 'value': 'false'})
-        self.assertEqual(result, {'section': 'mon', 'value': 'false'})
+        self._ceph_cmd(['config', 'set', 'mon', config_name, 'false'])
+        result = self._wait_for_expected_get_result(self._get_config_by_name, config_name,
+                                                    [{'section': 'mon', 'value': 'false'}])
+        self.assertEqual(result, [{'section': 'mon', 'value': 'false'}])
 
         # restore value
         if orig_value:
-            self._ceph_cmd(['config', 'set', 'mon', 'mon_allow_pool_delete',
-                           orig_value['value']])
+            self._ceph_cmd(['config', 'set', 'mon', config_name, orig_value[0]['value']])
 
     def _validate_single(self, data):
         self.assertIn('name', data)
@@ -71,14 +66,20 @@ class ClusterConfigurationTest(DashboardTestCase):
                 self.assertIn('section', entry)
                 self.assertIn('value', entry)
 
-    def _wait_for_expected_get_result(self, get_func, expected_result, max_attempts=30,
+    def _wait_for_expected_get_result(self, get_func, get_params, expected_result, max_attempts=30,
                                       sleep_time=1):
         attempts = 0
         while attempts < max_attempts:
-            get_result = get_func()
+            get_result = get_func(get_params)
             if get_result == expected_result:
                 self.assertStatus(200)
                 return get_result
 
             time.sleep(sleep_time)
             attempts += 1
+
+    def _get_config_by_name(self, conf_name):
+        data = self._get('/api/cluster_conf/{}'.format(conf_name))
+        if 'value' in data:
+            return data['value']
+        return None