移除作业二进制内部¶
https://blueprints.launchpad.net/sahara/+spec/remove-job-binary-internal
由于 Swift 和 Manila 已经可用(并且未来可能还有其他存储选项),且这些选项更适合存储,因此现在不再需要作业二进制内部存储。
问题描述¶
作业二进制内部是一种存储在 Sahara 内部数据库中的作业二进制存储选项,由于存在更好的存储选项(Swift、Manila 等),此选项不应再可用。
此外,Sahara 的内部数据库应仅用于 Sahara 的数据存储。允许将作业二进制存储在 Sahara 的数据库中不仅是不必要的,而且可能成为问题的根源,因为它会增加数据库的大小。它也打开了免费存储的漏洞。这绝对不是合适的工具。
同样重要的是要注意,此更改与 APIv2 相关,不应破坏 APIv1。
提议的变更¶
此更改建议移除作业二进制内部存储,转而使用其他存储选项。计划在 APIv2 稳定时弃用它,并与 APIv1 的弃用同时进行。在 APIv2 稳定足够长的时间后,APIv1 和 JBI 将完全一起移除。
此更改可以分为以下补丁:
从 APIv2 中移除作业二进制内部存储
移除处理作业二进制内部存储的内部代码(可能需要几个补丁)
从数据库中移除作业二进制内部存储
从 saharaclient 中移除作业二进制内部存储
从 Horizon (sahara-dashboard) 中移除作业二进制内部存储选项
更新涉及作业二进制内部存储的文档
替代方案¶
此更改的另一个选项是不移除作业二进制内部存储,这可能会给 Sahara 带来未来的问题。
数据模型影响¶
作业二进制内部存储将被从数据模型中移除。这将需要数据库迁移。
REST API 影响¶
作业二进制内部存储相关的请求必须仅在 APIv2 中移除。
其他最终用户影响¶
不应通过 Horizon 提供作业二进制内部存储选项。
部署者影响¶
无
开发者影响¶
无
Sahara-image-elements impact¶
无
Sahara-dashboard / Horizon 影响¶
不应通过 Horizon 提供作业二进制内部存储选项。
实现¶
负责人¶
主要负责人:mariannelinharesm
工作项¶
从 APIv2 中移除作业二进制内部存储
移除处理作业二进制内部存储的内部代码(可能需要几个补丁)
从数据库中移除作业二进制内部存储
从 saharaclient 中移除作业二进制内部存储
从 Horizon (sahara-dashboard) 中移除作业二进制内部存储选项
更新涉及作业二进制内部存储的文档
(除第一步和最后一步外,所有步骤都与 APIv1 移除同时进行)
依赖项¶
无
测试¶
无
文档影响¶
更新与作业二进制内部存储相关的文档
在 APIv2 稳定并成为默认版本时,添加关于作业二进制内部存储弃用的警告。
参考资料¶
[0] http://eavesdrop.openstack.org/meetings/sahara/2017/sahara.2017-04-06-14.00.log.txt [1] http://eavesdrop.openstack.org/meetings/sahara/2017/sahara.2017-03-30-18.00.log.txt