¡@

Home 

OpenStack Study: config.py

OpenStack Index

**** CubicPower OpenStack Study ****

def parse_args(args=None, usage=None, default_config_files=None):

    CONF(args=args,

         project='glance',

         version=version.cached_version_string(),

         usage=usage,

         default_config_files=default_config_files)

**** CubicPower OpenStack Study ****

def parse_cache_args(args=None):

    config_files = cfg.find_config_files(project='glance', prog='glance-cache')

    parse_args(args=args, default_config_files=config_files)

**** CubicPower OpenStack Study ****

def _get_deployment_flavor(flavor=None):

    """

    Retrieve the paste_deploy.flavor config item, formatted appropriately

    for appending to the application name.

    :param flavor: if specified, use this setting rather than the

                   paste_deploy.flavor configuration setting

    """

    if not flavor:

        flavor = CONF.paste_deploy.flavor

    return '' if not flavor else ('-' + flavor)

**** CubicPower OpenStack Study ****

def _get_paste_config_path():

    paste_suffix = '-paste.ini'

    conf_suffix = '.conf'

    if CONF.config_file:

        # Assume paste config is in a paste.ini file corresponding

        # to the last config file

        path = CONF.config_file[-1].replace(conf_suffix, paste_suffix)

    else:

        path = CONF.prog + paste_suffix

    return CONF.find_file(os.path.basename(path))

**** CubicPower OpenStack Study ****

def _get_deployment_config_file():

    """

    Retrieve the deployment_config_file config item, formatted as an

    absolute pathname.

    """

    path = CONF.paste_deploy.config_file

    if not path:

        path = _get_paste_config_path()

    if not path:

        msg = _("Unable to locate paste config file for %s.") % CONF.prog

        raise RuntimeError(msg)

    return os.path.abspath(path)

**** CubicPower OpenStack Study ****

def load_paste_app(app_name, flavor=None, conf_file=None):

    """

    Builds and returns a WSGI app from a paste config file.

    We assume the last config file specified in the supplied ConfigOpts

    object is the paste config file, if conf_file is None.

    :param app_name: name of the application to load

    :param flavor: name of the variant of the application to load

    :param conf_file: path to the paste config file

    :raises RuntimeError when config file cannot be located or application

            cannot be loaded from config file

    """

    # append the deployment flavor to the application name,

    # in order to identify the appropriate paste pipeline

    app_name += _get_deployment_flavor(flavor)

    if not conf_file:

        conf_file = _get_deployment_config_file()

    try:

        logger = logging.getLogger(__name__)

        logger.debug(_("Loading %(app_name)s from %(conf_file)s"),

                     {'conf_file': conf_file, 'app_name': app_name})

        app = deploy.loadapp("config:%s" % conf_file, name=app_name)

        # Log the options used when starting if we're in debug mode...

        if CONF.debug:

            CONF.log_opt_values(logger, logging.DEBUG)

        return app

    except (LookupError, ImportError) as e:

        msg = (_("Unable to load %(app_name)s from "

                 "configuration file %(conf_file)s."

                 "\nGot: %(e)r") % {'app_name': app_name,

                                    'conf_file': conf_file,

                                    'e': e})

        logger.error(msg)

        raise RuntimeError(msg)