为卷的元数据添加备份 ID¶
https://blueprints.launchpad.net/cinder/+spec/add-volume-backup-id
问题描述¶
目前,最终用户可以从新创建的卷中看到来源(通过快照或镜像等)。但是,当最终用户恢复备份卷时,在卷显示响应中,我们无法看到其来源。这可能会给最终用户带来很多困惑。
用例¶
作为最终用户,我希望知道恢复的卷来自哪个备份资源。
提议的变更¶
将属性
src_backup_id添加到卷的元数据中,以记录新卷是从哪个备份创建的。当从一系列增量备份恢复时,src_backup_id设置为用于恢复的最后一个增量备份。
添加到卷元数据后,src_backup_id 将出现在显示卷元数据的任何 API 响应中
卷显示响应 (GET /v3/{project_id}/volumes/{volume_id})
卷列表详细响应 (GET /v3/{project_id}/volumes/detail)
卷元数据显示响应 (GET /v3/{project_id}/volumes/{volume_id}/metadata)
卷元数据显示键响应,仅当键为
src_backup_id时 (GET /v3/{project_id}/volumes/{volume_id}/metadata/{key})
厂商特定更改¶
无
备选方案¶
无
数据模型影响¶
无
REST API 影响¶
无。卷显示、卷列表详细和卷元数据显示响应当前定义为包含一个 metadata 元素,该元素要么是 JSON null,要么是包含键/值对列表的 JSON 对象。 src_backup_id 将出现在适当卷的此列表中,但它尊重当前的 API,并且不需要新的微版本。
安全影响¶
无
通知影响¶
无
其他最终用户影响¶
无
性能影响¶
无
其他部署者影响¶
无
开发人员影响¶
无
实现¶
负责人¶
玄延东
工作项¶
将
src_backup_id添加到volume元数据
依赖项¶
无
测试¶
添加相关的单元测试
添加相关功能测试
添加 tempest 测试
文档影响¶
发布说明应指出,由于这存储在卷元数据中,因此最终用户可以修改或删除它,因此操作员不应依赖于其存在用于管理或审计目的。
在管理员文档的某个地方添加类似的注释,可能是在 Cinder 编写的关于卷元数据的页面上(这可能当前不存在)。除了提醒管理员最终用户可以覆盖卷元数据之外,还应说明如何读取 src_backup_id(特别是关于从增量备份恢复时使用的 ID 的部分)。
参考资料¶
无