悉尼峰会:Oslo组件的重大更新



导读

 

  峰会进入第三天,来自EasyStack的 Oslo PTL 郭长波和红帽工程师 Stephen Finucane 带来了 OpenStack 公共通用库项目Oslo Pike 版本项目更新


澳大利亚悉尼当地时间11月6号上午9点,第16届OpenStack峰会在悉尼国际会议中心盛大开幕,来自全球52个国家2300余名与会者,将就以OpenStack为核心的开放基础架构相关技术和商业实践展开为期三天的讨论,本文为第三天的讨论内容之一。


OpenStack 公共通用库项目Oslo Pike 版本主要有五部分更新:机器可读的配置文件生成,全局request id ,和pbr, oslo.messaging, cliff 的更新,本文将对重要的三个更新进行解析。




一、机器可读的配置文件生成


Oslo.config 是一个用于分析配置文件和命令行参数的可扩展库,也是OpenStack项目里普遍使用的项目oslo.config 提供命令行来生成项目如Nova的配置文件样例,这有助于开发者和运维者了解有哪些配置项及对应的默认值和帮助提示实现方式为oslo.config 负责格式化并输出每一种配置类型的示例片段,使用oslo.config 的项目需要通过entry_point机制提供项目使用的所有配置项


在Pike版本以前,oslo.config 只生成ini格式的配置文件样例,这对于一些配置工具来说不是很方便,通常在部署过程中需要替换模板文件里对应的配置项值来完成配置工作


基于此oslo.config 支持两种机器可读的配置文件格式: YAML 和JSON, 通过参数format指定要生成的配置文件样例格式,这极大的方便了部署工具

二、 全局Request ID


Request ID 在OpenStack项目里有两个目的:用于跟踪操作过程的日志,运维人员可以通过在日志文件查找特定的Request id了解操作的一些信息; Request ID 也可以被记录在数据库里,通过特定API查看某个Request ID 对应的操作细节便于debug


现有的Request ID机制有一些不足,一个Request ID局限于一个服务项目如Nova,不能跟踪跨服务项目的整个操作过程


例如部署一个虚拟机,会涉及到Nova, Glance, Neutron,有可能包括Cinder运维人员没法通过现有的Request ID 了解整个操作过程在各个服务项目里的调用过程.因此引入全局Request ID


基本设计思路是: 当一个操作需要调用另一个服务的API时,会传递全局Request ID, 新服务会使用这个全局Request ID 而不是自己重新生成一个新的Request ID. 需要在oslo.log 配置logging_context_format_string 来启用这个功能


目前oslo 支持的功能已经完成,需要在各个服务项目集成这个新功能,Ironic已经完成,其它项目正在进行中



三、消息队列oslo.messaging 更新


在Pike 版本里,oslo.messaging 废弃了两项:’blocking’ executor 和pika driver


Executor 决定了RPC调用和notification通知请求在服务器端如何被分发处理,当前支持三种模式,blocking, threading, eventlet. Blocking 模式下这些请求会被逐个处理,如果前面请求没有处理完,后续请求会被block住,直到前面请求处理完,这个模式更多的用于测试,在生产环境不建议使用,基于此,’blocking’ executor 会在Rocky版本里移除


pika driver 是调用RabbitMQ server 的一种driver, 但是没有被很好的支持,在性能和稳定性方面并没有现有支持的rabbit driver表现好,所以决定在Rocky 版本移除pika driver


oslo.messaging 项目另一个大的改变是,可以允许RPC和notification使用不同的后端消息服务器


在传统的部署模式中,RPC和notification 都使用同一个后端消息服务器,为了防止notification丢失,通常后端消息服务器如RabbitMQ需要持久化这些消息,这在大规模部署情况下这带来了性能问题.通过不同的配置项可以让RPC和Notification使用不同的后端消息服器。



EasyStack工程师点评:Pike 版本里,Oslo在易用性和可管理性上有了很大的改善,不光是方便开发者,运维人员的日常工作,更多的从实际生产环境角度考虑问题,这将对OpenStack其它服务稳定高效运行提供有利支撑。


感谢 EasyStack 工程师 发自悉尼现场的报道


投稿邮箱:openstackcn@sina.cn


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值