oslo公共库概述
随着OpenStack社区项目的不断发展和完善,OpenStack社区将所有组件中的具有共性的组件剥离出来,然后放在oslo公共库中。oslo公共库,不仅仅可以在OpenStack项目中使用,也可以单独作为第三方工具供给其他项目使用。公共库功能强大,通过使用公共库,可以非常方便实现一个完善鉴权、分布式、易部署、带调用链日志的REST服务!
oslo公共库的常用组件
库名 | 作用 | 背景知识 |
---|---|---|
oslo.congfig | 配置文件 | 无 |
oslo.log | 日志记录系统 | 无 |
oslo.utils | 工具类库 | 无 |
oslo.context | 上下文 | 无 |
oslo.service | 带ssl的REST服务器 | wsgi |
oslo.privsep | 代码特权分离 | rpc、rabbitmq |
oslo.messaging | RPC调用 | rpc、rabbitmq |
oslo.db | 数据库 | sqlalchemy |
oslo.rootwrap | linux的sudo | 无 |
oslo.serilization | 序列化 | 无 |
oslo.il8n | 国际化 | 无 |
oslo.policy | 权限系统 | deploy paste |
oslo.middleware | pipeline | deploy paste |
keystonemiddle | 用户系统 | deploy paste + keystone |
oslo_test | 测试 | unittest |
库学习
oslo.utils 库
oslo.utils封装了Openstack各个组件常用的工具类
模块名 | 说明 |
---|---|
encodeutils | 编码相关 |
eventletutils | 多线程 |
fileutils | 文件相关 |
importutils | 导入操作 |
netutils | 网络工具 |
reflect | 反射 |
strutils | 字符串 |
timeutils | 时间工具 |
uuidutils | 管理uuid |
versionutils | 版本号 |
oslo.privsep
oslo.prisep允许你在代码中限定只能在预定义的特权上下文执行的特殊代码。