弃用 Direct Engine¶
https://blueprints.launchpad.net/sahara/+spec/deprecate-direct-engine
目前 Sahara 有两种基础设施引擎。第一种是 Direct Infrastructure Engine,第二种是 Heat Infrastructure Engine。本规范建议弃用 Direct Engine。
问题描述¶
每次 Sahara 支持新功能时,都需要在两种引擎中都支持它。因此,支持两种引擎变得更加困难,因为对于 Direct Engine 而言,需要重复 Heat 已经完成的工作。
提议的变更¶
建议在 Liberty 版本中弃用 Direct Engine,但仍可使用。在合并此规范后,Direct Engine 应该冻结,不再添加 Liberty 版本中新增的功能。它将开放于修复 高 和 严重 级别的 bug。我们应该使 Heat Engine 在 Sahara 中默认使用。
此更改将允许将 Sahara CI 中的大部分测试任务切换到使用 Heat Engine 而不是 Direct Engine。
在 M 版本中,我们应该从 direct engine 中移除所有操作。之后,唯一可以对 direct-engine-created 集群执行的操作就是集群删除。我们应该重写集群删除行为,以支持通过 Heat Engine 删除 direct-engine-created 集群。现在 heat engine 会从数据库中删除集群,但不会删除所有集群元素(例如,实例)。
替代方案¶
Sahara 可以继续支持两种引擎。
数据模型影响¶
无
REST API 影响¶
无
其他最终用户影响¶
无
部署者影响¶
部署者应该切换到使用 Heat Engine 而不是 Direct Engine。
开发者影响¶
影响 Sahara 基础设施部分的新功能,应该只在 Heat Engine 中支持。
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
无
实现¶
负责人¶
- 主要负责人
vgridnev
- 其他贡献者
无
工作项¶
此更改需要以下更改
在 sahara 启动时添加弃用警告。
将 Heat Engine 标记为 Sahara 中的默认引擎。
记录 Direct Engine 的弃用信息。
依赖项¶
无
测试¶
此更改需要手动测试切换到 heat engine 后的 direct-engine-created 集群删除功能。
文档影响¶
需要记录 Direct Engine 已被弃用的信息。
参考资料¶
无