切换到 OSLO 消息传递¶
https://wiki.openstack.org/wiki/Trove-rpc-versioning
此蓝图旨在记录项目将 Trove 切换为使用 OSLO 消息传递的过程。
问题描述¶
使 Trove 与其他项目 + oslo 保持一致。这将需要重构 rpc 层
防止 Trove 组件之间的向后不兼容性
rpc 客户端可以向较新的消息处理程序发送旧版本的消息/调用,而不会出现问题。
rpc 客户端可以向较旧的消息处理程序发送较新版本的消息/调用,而不会使其崩溃(需要确认这一点)。
rpc 客户端可以检查它是否可以发送较新版本的消息/调用。
减少部署期间停机的需要。
- ** 实际上允许控制平面之间混合使用版本
和访客代理(在大多数情况下)。可能仍然存在需要停机时间的更新。
提议的变更¶
从 oslo incubator 中移除 rpc 常用组件?
使用 oslo 消息传递库
- ** 最低版本将从 global-requirements 中选取。在
撰写本文时,它为 >= 1.4.0
在代码注释中跟踪“版本历史记录”
更新 trove 调用到 openstack.common.rpc 客户端,以包含一个版本上限参数。(客户端已经支持此功能)
** Trove API –> 任务管理器 ** Trove API –> 访客代理 ** 访客代理 –> Conductor ** 任务管理器 –> Conductor ** 记录用例和如何添加/修改 API 调用的示例
配置¶
oslo.messaging 被设计为配置上向后兼容。所有配置兼容性都将保留,直到所有项目都迁移到 oslo.messaging。
数据库¶
不适用
公共 API¶
不适用
公共 API 安全¶
不适用
内部 API¶
不适用
Guest Agent¶
不适用
备选方案¶
无
依赖项¶
无
测试¶
如果需要,将提出额外的测试,并修改现有测试。
文档影响¶
是