码迷,mamicode.com
首页 > 其他好文 > 详细

OpenStack配置解析库——oslo.config

时间:2014-07-19 13:37:36      阅读:6614      评论:0      收藏:0      [点我收藏+]

标签:style   blog   java   使用   os   文件   

  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‘)
 然后就可以使用提取到的配置信息了。
def start(server, app): 
    server.start(app, CONF.bind_port, CONF.bind_host)

OpenStack配置解析库——oslo.config,布布扣,bubuko.com

OpenStack配置解析库——oslo.config

标签:style   blog   java   使用   os   文件   

原文地址:http://www.cnblogs.com/Security-Darren/p/3854797.html

(1)
(2)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!