olso.config的简单使用

一 简介

  • openstack项目越来越多,在Grizzly版本之前,每个项目都要实现一套处理配置文件的代码。每个项目的源码中都可以找到 openstack/common/cfg.py iniparser.py这两个文件。当然,这些不同项目之间的cfg.py等文件很大可能是copy-and-paste分分钟来搞定。这种情况肯定无法被大神忍受,最终,社区决定改变这一切,提出了Oslo项目。Oslo项目的宗旨是提供一系列OpenStack Projects共享的基础库。我们接触的最多的为oslo.config这个库,要来处理程序命令行参数和配置文件。

  • oslo.config就是其中一个被广泛使用的库,该项工作的主要目的就是解析OpenStack中命令行(CLI)或配置文件(.conf)中的配置信息

二 olso.config用法

2.1 使用步骤

  • 正确配置服务配置文件
  • 在要使用的配置文件模块中声明这个模块将会用到哪个配置项,包括配置项名称、默认值、数据类型、说明等
  • 创建该对象的类充当配置管理器,这个对象会成为配置文件中配置项的容器
  • 注册要用到的配置项,这个过程会解析配置文件,从里面提取我们的配置项实际设定的值
  • *

2.2 用法

  • 假设有一个配置文件叫做xxx.conf,里面内容如下
    # 用来简单测试的文件
    [DEFAULT]
    bind_host = 0.0.0.0
    bind_port = 9292

    [rabbit]
    host = localhost
    port = 5672
    use_ssl = False
    userid = guest
    password = guest
  • 加载库
from oslo.config import cfg
  • 生命将会使用到的配置信息
opts = [ 
    cfg.StrOpt(‘bind_host‘, default=‘0.0.0.0‘), 
    cfg.IntOpt(‘bind_port‘, default=9292), 
  ]
  • 生成容器
CONF = cfg.CONF
  • 注册配置信息
CONF.register_opts(opts)
  • 从配置文件中读取配置信息
CONF(default_config_files=‘xxx.conf‘)
  • 到这里,就可以使用了
bind_port = CONF.bind_port
bind_host = CONF.bind_host

三 研究olso.config源码(待续)

你可能感兴趣的:(python,云计算)