移除作业二进制内部

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