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)
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