首页 > 代码库 > OpenStack配置解析库——oslo.config
OpenStack配置解析库——oslo.config
OpenStack的oslo项目旨在独立出系统中可重用的基础功能,oslo.config就是其中一个被广泛使用的库,该项工作的主要目的就是解析OpenStack中命令行(CLI)或配置文件(.conf)中的配置信息。下面先给一个high-level的过程说明一下如何使用这个库。
OpenStack中配置文件的使用主要有以下几个步骤,
step1. 正确配置各个服务主配置文件(.conf文件),在各个服务中完成。
step2. 在要使用到配置文件的模块中声明这个模块将会用到的那些配置项(比如‘auth_host‘...),包括配置项的名称、数据类型、默认值和说明等;
step3. 创建一个对象,创建该对象的类充当配置管理器,这个对象以后将成为配置文件中配置项的容器。
step3. 调用刚刚创建了的对象的注册方法,注册我们要用到的配置项,这个过程将会解析配置文件,从里面提取我们所需要的配置项的实际设定值,然后这些配置项的名称就可以作为这个对象的属性直接使用。
一个完整的实例如下:
先正确设置配置文件(.conf文件),这里只给出了部分示意。
[DEFAULT]bind_host = 0.0.0.0
bind_port = 9292...[rabbit]host = localhostport = 5672use_ssl = Falseuserid = guestpassword = 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=‘glance.conf‘)
然后就可以使用提取到的配置信息了。
def start(server, app): server.start(app, CONF.bind_port, CONF.bind_host)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。