コード例 #1
0
ファイル: config.py プロジェクト: Juniper/nova
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)
コード例 #2
0
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)
コード例 #3
0
ファイル: config.py プロジェクト: zhongjiejiang/nova
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)
コード例 #4
0
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)
コード例 #5
0
ファイル: config.py プロジェクト: arbrandes/nova
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)
コード例 #6
0
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')
コード例 #7
0
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)
コード例 #8
0
ファイル: config.py プロジェクト: EliseCheng/nova
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)
コード例 #9
0
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)
コード例 #10
0
ファイル: config.py プロジェクト: AsherBond/nova
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)
コード例 #11
0
ファイル: config.py プロジェクト: bopopescu/nova-scheduler
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)
コード例 #12
0
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)
コード例 #13
0
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)
コード例 #14
0
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)
コード例 #15
0
ファイル: config.py プロジェクト: 4everming/nova
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)
コード例 #16
0
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)
コード例 #17
0
ファイル: config.py プロジェクト: Pushparajkvp/openstack-nova
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)
コード例 #18
0
def parse_config(*args, **kwargs):
    rpc.set_defaults(control_exchange='nova')
    common_config.parse_power_config(*args, **kwargs)
    rpc.init(CONF)
コード例 #19
0
ファイル: test_rpc.py プロジェクト: haris00/nova
    def test_set_defaults(self, mock_set):
        control_exchange = mock.Mock()

        rpc.set_defaults(control_exchange)

        mock_set.assert_called_once_with(control_exchange)
コード例 #20
0
ファイル: test_rpc.py プロジェクト: andymcc/nova
    def test_set_defaults(self, mock_set):
        control_exchange = mock.Mock()

        rpc.set_defaults(control_exchange)

        mock_set.assert_called_once_with(control_exchange)