oslo(OpenStack Common Libraries)
是 OpenStack
代码的基础模块抽象出来的 python lib
库。
oslo.cache
通用缓存 cache 库
Cache storage for OpenStack projects.
oslo.concurrency
并发库
The oslo concurrency library has utilities for safely running multi-thread, multi-process applications using locking mechanisms and for running external processes.
oslo.context
OpenStack
业务层面封装的请求上下文(context
),包含:tenant
,project
,user
,token
等
The Oslo context library has helpers to maintain useful information about a request context. The request context is usually populated in the WSGI pipeline and used by various modules such as logging.
oslo.config
OpenStack
配置文件和命令行参数配置库
An OpenStack library for parsing configuration options from the command line and configuration files.
oslo.db
数据库库
The oslo.db (database) handling library, provides database connectivity to different database backends and various other helper utils.
oslo.i18n
The oslo.i18n library contain utilities for working with internationalization (i18n) features, especially translation for text strings in an application or library.
oslo.log
日志库
The oslo.log (logging) configuration library provides standardized configuration for all openstack projects. It also provides custom formatters, handlers and support for context specific logging (like resource id’s etc).
oslo.messaging
OpenStack
实现 RPC
的库,支持各种不同消息队列,常用的消息队列是 rabbitmq,参考:
The Oslo messaging API supports RPC and notifications over a number of different messaging transports.
oslo.middleware
HTTP 中间件
Middlewares can be configured in multiple fashion depending of the application needs.
oslo.policy
OpenStack 基于 RBAC 控制角色权限库
An OpenStack library providing support for RBAC policy enforcement across all OpenStack services.
oslo.privsep
OpenStack 实现的普通用户执行超级权限的库,可以让命令行或 python lib 实现超权。
oslo.privsep is an OpenStack library for privilege separation.
It helps applications perform actions which require more or less privileges than they were started with in a safe, easy to code and easy to use manner. For more information on why this is generally a good idea please read over the principle of least privilege and the specification which created this library.
oslo.reports
oslo.reports library
oslo.rootwrap
同 oslo.privsep
,且已被它替换。
oslo.rootwrap allows fine-grained filtering of shell commands to run as root from OpenStack services.
oslo.serialization
将 OpenStack 对象序列化为可传递或存储字符串
The oslo serialization library provides support for representing objects in transmittable and storable formats, such as JSON and MessagePack.
oslo.service
OpenStack daemon 程序库
oslo.service provides a framework for defining new long-running services using the patterns established by other OpenStack applications. It also includes utilities long-running applications might need for working with SSL or WSGI, performing periodic operations, interacting with systemd, etc.
Tools is a helper library that provides various low-level utility modules/code.
oslo.utils
工具基础库,包括:编码、异常处理、时间处理
The Oslo utils library provides support for common utility type functions, such as encoding, exception handling, string manipulation, and time handling.
oslo.versionedobjects
对 rpc
友好的通用版本化对象模型,包括:序列化、字段类型和远程方法调用。
The oslo.versionedobjects library provides a generic versioned object model that is RPC-friendly, with inbuilt serialization, field typing, and remotable method calls. It can be used to define a data model within a project independent of external APIs or database schema for the purposes of providing upgrade compatibility across distributed services.