def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # 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'] log.set_defaults(default_log_levels=log.get_default_log_levels() + extra_default_log_levels) rpc.set_defaults(control_exchange='nova') if profiler: profiler.set_defaults(CONF) config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # 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) rpc.set_defaults(control_exchange='nova') if profiler: profiler.set_defaults(CONF) config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # We use the oslo.log default log levels which includes suds=INFO # and add only the extra levels that Nova needs log.set_defaults(default_log_levels=log.get_default_log_levels() + _EXTRA_DEFAULT_LOG_LEVELS) options.set_defaults(CONF, connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') cache.configure(CONF) debugger.register_cli_opts() config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # 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'] log.set_defaults(default_log_levels=log.get_default_log_levels() + extra_default_log_levels) rpc.set_defaults(control_exchange='nova') config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # 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) rpc.set_defaults(control_exchange='nova') if profiler: profiler.set_defaults(CONF) config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF) placement_db.configure(CONF)
def main(): lock_filename = '/tmp/locking.lock' lock_file = open(lock_filename, 'w') try: fcntl.lockf(lock_file, fcntl.LOCK_EX | fcntl.LOCK_NB) except IOError: print('Cannot lock: ' + lock_filename) sys.exit(1) if len(sys.argv) < 3 or sys.argv[1] != '--config-file': usage() exit(1) detection_only = False if '--detection-only' in sys.argv: detection_only = True sys.argv.remove('--detection-only') out, err = utils.execute('which', 'multipath', check_exit_code=False) if 'multipath' not in out: print('Info: Multipath tools not installed. No cleanup need be done.') exit(0) multipath_flush_on_last_del = False multipath_conf_path = "/etc/multipath.conf" if os.path.exists(multipath_conf_path): flush_on_last_del_yes = re.compile(r'\s*flush_on_last_del.*yes') for line in open(multipath_conf_path, "r"): if flush_on_last_del_yes.match(line): multipath_flush_on_last_del = True break if not multipath_flush_on_last_del: print("Warning: 'flush_on_last_del yes' is not seen in" " /etc/multipath.conf." " 'map in use' failure may show up during cleanup.") CONF(sys.argv[1:]) rpc.set_defaults(control_exchange='nova') rpc.init(CONF) utils.monkey_patch() objects.register_all() objects_base.NovaObject.indirection_api = \ conductor_rpcapi.ConductorAPI() # connect_volume and disconnect_volume in nova/virt/libvirt/volume.py # need be adjusted to take the same 'external=True' lock for # synchronization @utils.synchronized('connect_volume', external=True) def do_cleanup(detection_only): cleaner = FaultyDevicesCleaner(detection_only) cleaner.cleanup() do_cleanup(detection_only) os.unlink('/tmp/locking.lock')
def parse_args(argv, default_config_files=None): db_session.set_defaults(sql_connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') cfg.CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) rpc.init(cfg.CONF)
def parse_args(argv, default_config_files=None): options.set_defaults(CONF, connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') debugger.register_cli_opts() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) rpc.init(CONF)
def parse_args(argv, default_config_files=None): options.set_defaults(sql_connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') nova_default_log_levels = (log.DEFAULT_LOG_LEVELS + ["keystonemiddleware=WARN", "routes.middleware=WARN"]) log.set_defaults(default_log_levels=nova_default_log_levels) debugger.register_cli_opts() cfg.CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) rpc.init(cfg.CONF)
def parse_args(argv, default_config_files=None): options.set_defaults(sql_connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') nova_default_log_levels = ( log.DEFAULT_LOG_LEVELS + ["keystonemiddleware=WARN", "routes.middleware=WARN"]) log.set_defaults(default_log_levels=nova_default_log_levels) debugger.register_cli_opts() cfg.CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) rpc.init(cfg.CONF)
def parse_args(argv, default_config_files=None, configure_db=True): log.set_defaults(_DEFAULT_LOGGING_CONTEXT_FORMAT, _DEFAULT_LOG_LEVELS) log.register_options(CONF) options.set_defaults(CONF, connection=_DEFAULT_SQL_CONNECTION, sqlite_db='nova.sqlite') rpc.set_defaults(control_exchange='nova') debugger.register_cli_opts() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def main(): if len(sys.argv) < 3 or sys.argv[1] != '--config-file': usage() exit(1) detection_only = False if '--detection-only' in sys.argv: detection_only = True sys.argv.remove('--detection-only') out, err = utils.execute('which', 'multipath', check_exit_code=False) if 'multipath' not in out: print('Info: Multipath tools not installed. No cleanup need be done.') exit(0) multipath_flush_on_last_del = False multipath_conf_path = "/etc/multipath.conf" if os.path.exists(multipath_conf_path): flush_on_last_del_yes = re.compile(r'\s*flush_on_last_del.*yes') for line in open(multipath_conf_path, "r"): if flush_on_last_del_yes.match(line): multipath_flush_on_last_del = True break if not multipath_flush_on_last_del: print("Warning: 'flush_on_last_del yes' is not seen in" " /etc/multipath.conf." " 'map in use' failure may show up during cleanup.") CONF(sys.argv[1:]) rpc.set_defaults(control_exchange='nova') rpc.init(CONF) utils.monkey_patch() objects.register_all() objects_base.NovaObject.indirection_api = \ conductor_rpcapi.ConductorAPI() # connect_volume and disconnect_volume in nova/virt/libvirt/volume.py # need be adjusted to take the same 'external=True' lock for # synchronization @utils.synchronized('connect_volume', external=True) def do_cleanup(detection_only): cleaner = FaultyDevicesCleaner(detection_only) cleaner.cleanup() do_cleanup(detection_only)
def parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # We use the oslo.log default log levels which includes suds=INFO # and add only the extra levels that Nova needs log.set_defaults(default_log_levels=log.get_default_log_levels() + _EXTRA_DEFAULT_LOG_LEVELS) rpc.set_defaults(control_exchange='nova') config.set_middleware_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(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 parse_args(argv, default_config_files=None, configure_db=True, init_rpc=True): log.register_options(CONF) # 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(sean-k-mooney): this filter addresses bug #1825584 # https://bugs.launchpad.net/nova/+bug/1825584 # eventlet monkey-patching breaks AMQP heartbeat on uWSGI 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') if profiler: profiler.set_defaults(CONF) middleware.set_defaults() CONF(argv[1:], project='nova', version=version.version_string(), default_config_files=default_config_files) if init_rpc: rpc.init(CONF) if configure_db: sqlalchemy_api.configure(CONF)
def parse_config(*args, **kwargs): rpc.set_defaults(control_exchange='nova') common_config.parse_power_config(*args, **kwargs) rpc.init(CONF)
def test_set_defaults(self, mock_set): control_exchange = mock.Mock() rpc.set_defaults(control_exchange) mock_set.assert_called_once_with(control_exchange)