博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
openstack oslo.config简短学习笔记
阅读量:5848 次
发布时间:2019-06-19

本文共 2187 字,大约阅读时间需要 7 分钟。

hot3.png

是什么

简单讲oslo.config模块是Openstack中用来解析从命令行或者是配置文件提供的配置的一个python library.

An OpenStack library for parsing configuration options from the command line and configuration files.

整体结构

oslo.config模块一共有8个实现模块,以及对应的测试模块。8个模块分别为:

  • cft.py
  • cfgfilter.py
  • fixture.py
  • generator.py
  • iniparser.py
    • 定义了一个ini配置文件解析类BaseParser,用来解析指定可iter对象。
  • sphinxconfiggen.py
  • sphinxext.py
  • types.py
    • 定义了配置参数的可选类型,一共定义了9个类,1个基类型,还有8种可选参数类型。ConfigType(基础类型), String, MultiString, Boolean, Integer, Float, List, Dict, IPAddress。

如何使用

  1. 配置选项(options)可以通过命令行或者是配置文件的形式进行定义。
  2. 定义完成后需要想配置管理器(config manager)进行注册。
  3. 通过配置管理器直接访问配置选项的值。
from oslo.config import cfgCONF = cfg.CONF# 配置选项定义common_opts = [    cfg.StrOpt('bind_host',                default='0.0.0.0',                help='IP address to listen on'),    cfg.IntOpt('bind_port',                default=9292,                help='Port number to listen on')]cli_opts = [    cfg.BoolOpt('verbose',                short='v',                default=False,                help='Print more verbose output'),    cfg.BoolOpt('debug',                short='d',                default=False,                help='Print debugging output'),]# 向配置管理器进行注册CONF.register_opts(common_opts)CONF.register_cli_opts(cli_opts)# 通过配置管理器访问配置选项的值print "The server is binded on: %s, with port: %d" % (CONF.bind_host, CONF.bind_port)
  1. 配置文件中是有分区(section/group)的概念,每个配置选项属于某一个配置分区。如果配置项没有指明分区的话,那就是属于默认分区(default)。
  2. 如果配置选项不属于默认分区的话,那么在通过配置管理器访问该配置项时,需要添加配置分区。
from oslo.config import cfgrabbit_group = cfg.OptGroup(name='rabbit',                            title='RabbitMQ options'))rabbit_host_opt = cfg.StrOpt('host',                             default='localhost',                             help='IP/hostname to listen on')rabbit_port_opt = cfg.IntOpt('port',                            default=5672,                            help='Port number to listen on')def register_rabbit_opts(conf):    conf.register_group(rabbit_group)    # options can be registered under a group in either of these ways:    conf.register_opt(rabbit_host_opt, group=rabbit_group)    conf.register_opt(rabbit_port_opt, group='rabbit')    regitser_rabbit_opts(cfg.CONF)cfg.CONF.rebbit.host

转载于:https://my.oschina.net/alazyer/blog/737946

你可能感兴趣的文章
【动弹有奖】——OSC登录并发送动弹分析(附python源码)
查看>>
protocol buffer安装及使用(非常详细)
查看>>
VTSS Error code
查看>>
360提供的Php防注入代码
查看>>
RabbitMQ SSL安全认证
查看>>
CC***原理及防范方法
查看>>
windows phone (12) 小试自定义样式
查看>>
Linux后台启动脚本
查看>>
jna dll c
查看>>
CentOS 升级现有PHP版本
查看>>
(一) pyhon 基础语法(数值 字符串 元组 列表 字典)
查看>>
springboot 学习笔记【1】开发第一个spring boot应用
查看>>
HDOJ 1003:求一串数字中和最大的连续子串
查看>>
RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (二)
查看>>
win7不能全屏
查看>>
MySQL/InnoDB的并发插入Concurrent Insert
查看>>
产品经理有话说——产品汪成长记(入职)
查看>>
从魔兽世界到激战2看MMO网游角色成长
查看>>
转两好文防丢:Debian 版本升级/降级 & Linux 应用程序失去输入焦点问题的解决...
查看>>
HDU - Pseudoforest
查看>>