切换到 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

不适用

备选方案

实现

负责人

主要负责人

sgotliv

里程碑

Kilo-1

工作项

  • 见上文。

依赖项

测试

如果需要,将提出额外的测试,并修改现有测试。

文档影响