添加一个配置选项以启用 Convergence¶
https://blueprints.launchpad.net/heat/+spec/convergence-config-option
问题描述¶
新的 Convergence 架构是对代码库的重大改变。为了将必要的更改与发布周期分离,同时保持最终用户的稳定性,我们需要在现有的代码和测试旁边开发它,并避免破坏现有代码,直到 Convergence 能够通过功能测试套件为止。
提议的变更¶
添加一个配置选项,允许操作员为新的堆栈启用 Convergence 代码路径。该选项最初默认关闭。一旦 Convergence 落地并处于工作状态(通过功能测试),我们将启用它,前提是这样做不会造成过度的风险(例如,如果这恰好发生在特性冻结之前,我们可能会延迟更改默认设置,直到发布之后)。
还在 Stack 表中添加一个标志,以指示每个堆栈是否应使用现有的遗留代码路径或 Convergence 代码路径。所有预先存在的堆栈将继续使用遗留代码路径。新的堆栈将使用操作员通过配置选项选择的代码路径。
在未来的某个时候,我们将创建一个工具,允许我们填充现有的遗留堆栈,以使其能够与 Convergence 代码一起使用所需的额外数据。一旦我们有了这样的迁移工具,就可以弃用遗留代码路径,并且在适当的时间间隔之后,一旦所有需要它的遗留“单元”测试都转换为功能测试,就可以完全删除该代码路径。
备选方案¶
除了配置选项之外,我们还可以允许用户在每次堆栈创建时选择使用遗留代码或 Convergence 代码。这可以使功能测试更容易,因为我们不需要更改配置来测试这两个部分。然而,缺点是它将应该是一个实现细节的内容暴露给用户。
实现¶
负责人¶
- 主要负责人
prazumovsky
里程碑¶
- 完成目标里程碑
Kilo-3
工作项¶
实现配置选项
依赖项¶
无