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 = 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=‘glance.conf‘)
 <span style="padding: 0px; font-size: 14px;">然后就可以使用提取到的配置信息了。<br style="padding: 0px;" /></span>
def start(server, app): 
    server.start(app, CONF.bind_port, CONF.bind_host)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值