添加一个配置选项以启用 Convergence

https://blueprints.launchpad.net/heat/+spec/convergence-config-option

问题描述

新的 Convergence 架构是对代码库的重大改变。为了将必要的更改与发布周期分离,同时保持最终用户的稳定性,我们需要在现有的代码和测试旁边开发它,并避免破坏现有代码,直到 Convergence 能够通过功能测试套件为止。

提议的变更

添加一个配置选项,允许操作员为新的堆栈启用 Convergence 代码路径。该选项最初默认关闭。一旦 Convergence 落地并处于工作状态(通过功能测试),我们将启用它,前提是这样做不会造成过度的风险(例如,如果这恰好发生在特性冻结之前,我们可能会延迟更改默认设置,直到发布之后)。

还在 Stack 表中添加一个标志,以指示每个堆栈是否应使用现有的遗留代码路径或 Convergence 代码路径。所有预先存在的堆栈将继续使用遗留代码路径。新的堆栈将使用操作员通过配置选项选择的代码路径。

在未来的某个时候,我们将创建一个工具,允许我们填充现有的遗留堆栈,以使其能够与 Convergence 代码一起使用所需的额外数据。一旦我们有了这样的迁移工具,就可以弃用遗留代码路径,并且在适当的时间间隔之后,一旦所有需要它的遗留“单元”测试都转换为功能测试,就可以完全删除该代码路径。

备选方案

除了配置选项之外,我们还可以允许用户在每次堆栈创建时选择使用遗留代码或 Convergence 代码。这可以使功能测试更容易,因为我们不需要更改配置来测试这两个部分。然而,缺点是它将应该是一个实现细节的内容暴露给用户。

实现

负责人

主要负责人

prazumovsky

里程碑

完成目标里程碑

Kilo-3

工作项

  • 实现配置选项

依赖项