self._reset_original_values(config_name, orig_value)
def test_create_cant_update_at_runtime(self):
- config_name = 'clog_to_syslog' # not updatable
+ config_name = 'public_bind_addr' # not updatable
config_value = [{'section': 'global', 'value': 'true'}]
orig_value = self._get_config_by_name(config_name)
def test_bulk_set_cant_update_at_runtime(self):
config_options = {
- 'clog_to_syslog': {'section': 'global', 'value': 'true'}, # not updatable
- 'clog_to_graylog': {'section': 'global', 'value': 'true'} # not updatable
+ 'public_bind_addr': {'section': 'global', 'value': '1.2.3.4:567'}, # not updatable
+ 'public_network': {'section': 'global', 'value': '10.0.0.0/8'} # not updatable
}
orig_values = dict()
def test_bulk_set_cant_update_at_runtime_partial(self):
config_options = {
- 'clog_to_syslog': {'section': 'global', 'value': 'true'}, # not updatable
+ 'public_bind_addr': {'section': 'global', 'value': 'true'}, # not updatable
'log_to_stderr': {'section': 'global', 'value': 'true'} # updatable
}
orig_values = dict()
self.assertError(code='config_option_not_updatable_at_runtime',
component='cluster_configuration',
detail='Config option {} is/are not updatable at runtime'.format(
- 'clog_to_syslog'))
+ 'public_bind_addr'))
# check if config option values are still the original ones
for config_name, value in orig_values.items():
{
ostringstream oss;
- int r = get_conf_str_map_helper(cct->_conf->clog_to_monitors, oss,
- &log_to_monitors, CLOG_CONFIG_DEFAULT_KEY);
+ int r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_monitors"), oss,
+ &log_to_monitors, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_monitors'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_syslog, oss,
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_syslog"), oss,
&log_to_syslog, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_syslog'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_syslog_facility, oss,
- &log_channels, CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_syslog_facility"), oss,
+ &log_channels, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_syslog_facility'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_syslog_level, oss,
- &log_prios, CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_syslog_level"), oss,
+ &log_prios, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_syslog_level'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_graylog, oss,
- &log_to_graylog, CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_graylog"), oss,
+ &log_to_graylog, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_graylog'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_graylog_host, oss,
- &log_to_graylog_host, CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_graylog_host"), oss,
+ &log_to_graylog_host, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_graylog_host'" << dendl;
return r;
}
- r = get_conf_str_map_helper(cct->_conf->clog_to_graylog_port, oss,
- &log_to_graylog_port, CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ cct->_conf.get_val<string>("clog_to_graylog_port"), oss,
+ &log_to_graylog_port, CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
lderr(cct) << __func__ << " error parsing 'clog_to_graylog_port'" << dendl;
return r;
// unmodified
Option("clog_to_monitors", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("default=true")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Make daemons send cluster log messages to monitors"),
Option("clog_to_syslog", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("false")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Make daemons send cluster log messages to syslog"),
Option("clog_to_syslog_level", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("info")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Syslog level for cluster log messages")
.add_see_also("clog_to_syslog"),
Option("clog_to_syslog_facility", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("default=daemon audit=local0")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Syslog facility for cluster log messages")
.add_see_also("clog_to_syslog"),
Option("clog_to_graylog", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("false")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Make daemons send cluster log to graylog"),
Option("clog_to_graylog_host", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("127.0.0.1")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Graylog host to cluster log messages")
.add_see_also("clog_to_graylog"),
Option("clog_to_graylog_port", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("12201")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Graylog port number for cluster log messages")
.add_see_also("clog_to_graylog"),
Option("mon_cluster_log_to_stderr", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
.set_default(false)
.add_service("mon")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Make monitor send cluster log messages to stderr (prefixed by channel)")
.add_see_also("log_stderr_prefix"),
Option("mon_cluster_log_to_syslog", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("default=false")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Make monitor send cluster log messages to syslog"),
Option("mon_cluster_log_to_syslog_level", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("info")
.add_service("mon")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Syslog level for cluster log messages")
.add_see_also("mon_cluster_log_to_syslog"),
Option("mon_cluster_log_to_syslog_facility", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("daemon")
.add_service("mon")
+ .set_flag(Option::FLAG_RUNTIME)
.set_description("Syslog facility for cluster log messages")
.add_see_also("mon_cluster_log_to_syslog"),
Option("mon_cluster_log_to_file", Option::TYPE_BOOL, Option::LEVEL_ADVANCED)
.set_default(true)
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Make monitor send cluster log messages to file")
.add_see_also("mon_cluster_log_file"),
Option("mon_cluster_log_file", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("default=/var/log/ceph/$cluster.$channel.log cluster=/var/log/ceph/$cluster.log")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("File(s) to write cluster log to")
.set_long_description("This can either be a simple file name to receive all messages, or a list of key/value pairs where the key is the log channel and the value is the filename, which may include $cluster and $channel metavariables")
Option("mon_cluster_log_file_level", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("debug")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Lowest level to include is cluster log file")
.add_see_also("mon_cluster_log_file"),
Option("mon_cluster_log_to_graylog", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("false")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Make monitor send cluster log to graylog"),
Option("mon_cluster_log_to_graylog_host", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("127.0.0.1")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Graylog host for cluster log messages")
.add_see_also("mon_cluster_log_to_graylog"),
Option("mon_cluster_log_to_graylog_port", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("12201")
+ .set_flag(Option::FLAG_RUNTIME)
.add_service("mon")
.set_description("Graylog port for cluster log messages")
.add_see_also("mon_cluster_log_to_graylog"),
Option("enable_experimental_unrecoverable_data_corrupting_features", Option::TYPE_STR, Option::LEVEL_ADVANCED)
+ .set_flag(Option::FLAG_RUNTIME)
.set_default("")
.set_description("Enable named (or all with '*') experimental features that may be untested, dangerous, and/or cause permanent data loss"),
channels.clear();
- int r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_syslog,
- oss, &channels.log_to_syslog,
- CLOG_CONFIG_DEFAULT_KEY);
+ int r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_syslog"),
+ oss, &channels.log_to_syslog,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_syslog'" << dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_syslog_level,
- oss, &channels.syslog_level,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_syslog_level"),
+ oss, &channels.syslog_level,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_syslog_level'"
<< dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_syslog_facility,
- oss, &channels.syslog_facility,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_syslog_facility"),
+ oss, &channels.syslog_facility,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_syslog_facility'"
<< dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_file, oss,
- &channels.log_file,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_file"), oss,
+ &channels.log_file,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_file'" << dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_file_level, oss,
- &channels.log_file_level,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_file_level"), oss,
+ &channels.log_file_level,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_file_level'"
<< dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_graylog, oss,
- &channels.log_to_graylog,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_graylog"), oss,
+ &channels.log_to_graylog,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_graylog'"
<< dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_graylog_host, oss,
- &channels.log_to_graylog_host,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_graylog_host"), oss,
+ &channels.log_to_graylog_host,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_graylog_host'"
<< dendl;
return;
}
- r = get_conf_str_map_helper(g_conf()->mon_cluster_log_to_graylog_port, oss,
- &channels.log_to_graylog_port,
- CLOG_CONFIG_DEFAULT_KEY);
+ r = get_conf_str_map_helper(
+ g_conf().get_val<string>("mon_cluster_log_to_graylog_port"), oss,
+ &channels.log_to_graylog_port,
+ CLOG_CONFIG_DEFAULT_KEY);
if (r < 0) {
derr << __func__ << " error parsing 'mon_cluster_log_to_graylog_port'"
<< dendl;