Openstack 组件 Oslo

2021SC@SDUSC

Openstack 组件 Oslo

Oslo简介

随着OpenStack项目的不断发展与完善,OpenStack社区将所有组件中的具有共性的组件剥离出来,并统一放在oslo组件下。oslo中的组件不仅可以在OpenStack项目中使用,也可以单独作为第三方工具包供其他项目使用。

Oslo库组件

组件功能
config配置文件
log日志文件
service带ssl的REST服务器
privsep代码特权分离
serilization序列化
i18n国际化
policy权限系统
messaging是 OpenStack 中实现 RPC 的库,底层可以支持各种不同消息队列
middlewareHTTP中间件
rootwrap使用户获得root权限执行特权命令
pdrpbr 是 OpenStack 开发的,和 setuptools 配合使用
automaton状态机实现框架
cliff命令行插件,可拓展
cookiecutter初始化git

oslo config

先文件中导入cfg,为新建配置组做准备

from oslo_config import cfg

建立api_group 以配置

api_group = cfg.OptGroup(‘api’,

​ title=‘API options’,

​ help="""

Options under this group are used to define Nova API.

“”")

创建配置项

auth_opts = [
cfg.StrOpt(“auth_strategy”,
default=“keystone”,
choices=(“keystone”, “noauth2”),
deprecated_group=“DEFAULT”,
help="""
This determines the strategy to use for authentication: keystone or noauth2.
‘noauth2’ is designed for testing only, as it does no actual credential
checking. ‘noauth2’ provides administrative credentials only if ‘admin’ is
specified as the username.
“”"),
cfg.BoolOpt(“use_forwarded_for”,
default=False,
deprecated_group=“DEFAULT”,
help="""
When True, the ‘X-Forwarded-For’ header is treated as the canonical remote
address. When False (the default), the ‘remote_address’ header is used.
You should only enable this if you have an HTML sanitizing proxy.
“”"),
]

将auth_opts注册到api_group中

API_OPTS = (auth_opts +
metadata_opts +
file_opts +
osapi_opts +
allow_instance_snapshots_opts +
osapi_hide_opts +
fping_path_opts +
os_network_opts +
enable_inst_pw_opts)

def register_opts(conf):
conf.register_group(api_group)
conf.register_opts(API_OPTS, group=api_group)

配置完成


版权声明:本文为lizhuohang_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。