diff options
-rw-r--r-- | nova/config.py | 49 | ||||
-rw-r--r-- | setup.cfg | 2 |
2 files changed, 39 insertions, 12 deletions
diff --git a/nova/config.py b/nova/config.py index f39e8554d3..af745bc485 100644 --- a/nova/config.py +++ b/nova/config.py @@ -18,11 +18,13 @@ import logging from oslo_log import log +from oslo_policy import opts as policy_opts from oslo_utils import importutils import nova.conf from nova.db.sqlalchemy import api as sqlalchemy_api from nova import middleware +from nova import policy from nova import rpc from nova import version @@ -32,20 +34,52 @@ profiler = importutils.try_import('osprofiler.opts') CONF = nova.conf.CONF +def set_lib_defaults(): + """Update default value for configuration options from other namespace. + + Example, oslo lib config options. This is needed for + config generator tool to pick these default value changes. + https://docs.openstack.org/oslo.config/latest/cli/ + generator.html#modifying-defaults-from-other-namespaces + """ + + # Update default value of oslo.middleware cors config option. + middleware.set_defaults() + + # Update default value of RPC transport control_exchange config option. + rpc.set_defaults(control_exchange='nova') + + # Update default value of oslo_log default_log_levels and + # logging_context_format_string config option. + set_log_defaults() + + # Update default value of oslo.policy policy_file config option. + policy_opts.set_defaults(CONF, policy.DEFAULT_POLICY_FILE) + + def rabbit_heartbeat_filter(log_record): message = "Unexpected error during heartbeat thread processing" return message not in log_record.msg -def parse_args(argv, default_config_files=None, configure_db=True, - init_rpc=True): - log.register_options(CONF) +def set_log_defaults(): # We use the oslo.log default log levels which includes suds=INFO # and add only the extra levels that Nova needs if CONF.glance.debug: extra_default_log_levels = ['glanceclient=DEBUG'] else: extra_default_log_levels = ['glanceclient=WARN'] + # NOTE(danms): DEBUG logging in privsep will result in some large + # and potentially sensitive things being logged. + extra_default_log_levels.append('oslo.privsep.daemon=INFO') + + log.set_defaults(default_log_levels=log.get_default_log_levels() + + extra_default_log_levels) + + +def parse_args(argv, default_config_files=None, configure_db=True, + init_rpc=True): + log.register_options(CONF) # NOTE(sean-k-mooney): this filter addresses bug #1825584 # https://bugs.launchpad.net/nova/+bug/1825584 @@ -53,16 +87,9 @@ def parse_args(argv, default_config_files=None, configure_db=True, rabbit_logger = logging.getLogger('oslo.messaging._drivers.impl_rabbit') rabbit_logger.addFilter(rabbit_heartbeat_filter) - # NOTE(danms): DEBUG logging in privsep will result in some large - # and potentially sensitive things being logged. - extra_default_log_levels.append('oslo.privsep.daemon=INFO') - - log.set_defaults(default_log_levels=log.get_default_log_levels() + - extra_default_log_levels) - rpc.set_defaults(control_exchange='nova') + set_lib_defaults() if profiler: profiler.set_defaults(CONF) - middleware.set_defaults() CONF(argv[1:], project='nova', @@ -38,7 +38,7 @@ packages = oslo.config.opts = nova.conf = nova.conf.opts:list_opts oslo.config.opts.defaults = - nova.conf = nova.middleware:set_defaults + nova.conf = nova.config:set_lib_defaults oslo.policy.enforcer = nova = nova.policy:get_enforcer oslo.policy.policies = |