从单个存储删除镜像¶
包含您的 Launchpad 蓝图的 URL
https://blueprints.launchpad.net/glance/+spec/delete-from-store
新的 API 功能,用于从单个存储中删除镜像,而不是删除整个镜像。
问题描述¶
目前,从单个存储中删除镜像的唯一方法是暴露已知的有问题位置 API 并利用该 API 删除位置。 随着多存储支持的出现,从特定存储中删除镜像的用户用例肯定会更多。
提议的变更¶
为 Images API v2 引入新的“/v2/stores”端点,以提供安全的方式从特定存储中删除镜像。
新的 API 调用:‘DELETE /v2/stores/<StoreID>/<ImageID>’
备选方案¶
我们可以考虑利用当前的“v2/images/<ImageID>”端点,并在末尾附加存储 ID。 这种方法的风险是,API 用户很容易出错,删除 StoreID 并意外删除整个镜像,而不是仅仅从单个存储中删除它。
数据模型影响¶
无
REST API 影响¶
新的 API 端点“v2/stores/<StoreID>/<ImageID>”,仅接受 DELETE http 方法。
如果这是唯一的存储位置,请求将失败,表明用户应该删除镜像。
安全影响¶
此更改没有已知的安全影响。
通知影响¶
可以考虑通知镜像从存储中被删除。
其他最终用户影响¶
python-glanceclient 将具有支持此 API 调用的功能。
性能影响¶
此功能没有已知的性能影响。
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
- 主要负责人
jokke
工作项¶
glance-api 服务的 API 变更
新功能测试
python-glanceclient 支持
需要更新文档,包括新的工作流程
依赖项¶
无
测试¶
该更改需要单元测试和功能测试。
文档影响¶
无
参考资料¶
无