From: Tatjana Dehler Date: Fri, 29 Jun 2018 10:50:42 +0000 (+0200) Subject: mgr/dashboard: refactor '_get_mon_allow_pool_delete_config' X-Git-Tag: v14.0.1~99^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2a630be87278bb345cb19de6f67db7f0453f5e1d;p=ceph.git mgr/dashboard: refactor '_get_mon_allow_pool_delete_config' 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 --- diff --git a/qa/tasks/mgr/dashboard/test_cluster_configuration.py b/qa/tasks/mgr/dashboard/test_cluster_configuration.py index 7aa94badc392..89cc4f14dda4 100644 --- a/qa/tasks/mgr/dashboard/test_cluster_configuration.py +++ b/qa/tasks/mgr/dashboard/test_cluster_configuration.py @@ -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