已弃用的镜像元数据代理 API

https://blueprints.launchpad.net/nova/+spec/deprecate-image-meta-proxy-api

弃用 API 代理 的提议中,代理 API 已经被弃用。但 image-metadata API 在该提议中被遗漏。本规范旨在描述 image-metadata API 的弃用。

问题描述

代理 API 应该从 Nova API 中移除。image-metadata API 就是其中之一。它只是 Glance API 操作镜像元数据的代理 API。

create_image/backup API 中,对于额外的元数据存在配额检查,它使用 Nova metadata 配额进行强制执行。在 Glance 中,配置选项 image_property_quota 用于控制镜像元数据的配额。因此,此配额检查应该由 Glance API 直接强制执行。Nova 不应该为自身未管理资源强制执行配额。

用例

  • 用户应该直接从 Glance API 更新镜像元数据,而不是使用 Nova 中的代理 API。

  • 管理员只需要在一个单一的点控制镜像元数据的配额,而这个点就是 Glance。

提议的变更

提议在新的 Microversion 中弃用 image-metadata API,并移除使用 Nova metadata 配额进行的额外配额强制执行。

备选方案

永久保留这些代理。这将增加 Nova 的维护成本,并降低我们适应新功能和要求的速度。

数据模型影响

REST API 影响

使用新的 Microversion,对 image-metadata API 的请求将获得 HTTPNotFound 404 响应。使用 Nova metadata 的镜像配额强制执行将被移除,并且 maxImageMeta 字段将从 os-limits API 中移除。

安全影响

通知影响

其他最终用户影响

CLI nova image-meta 已经弃用。python-novaclient 中的 python API 绑定也将限制到新的 Microversion。用户只能在旧的 Microversion 中使用此命令,我们计划在 Nova 15.0.0 发布后,在第一个主要的 python-novaclient 版本中移除它。

性能影响

其他部署者影响

部署者应该更新 Glance 侧的镜像元数据配额,以匹配 nova create image/backup API 中的限制。

开发人员影响

实现

负责人

主要负责人

Alex Xu <hejie.xu@intel.com>

工作项

以下所有操作都在单个新的 Microversion 下完成

  • 弃用 image-metadata API。

  • 移除 create image/backup 操作的配额检查。

  • os-limits API 中移除 maxImageMeta 字段。

  • 限制 python-novaclient 中镜像元数据的 python API 绑定。

依赖项

测试

将进行树内功能测试,以确保这些 API 在此 Microversion 之后能够正常工作并返回 404 错误。

对于 Tempest,ImagesMetadataTestJSON 需要限制到该 Microversion。在 openstack-dev 邮件列表中,关于如何处理此问题的讨论正在进行中:正在进行的讨论

文档影响

更新 api-ref,说明 image-metadata 在新的 Microversion 中已被弃用。还需要为部署者提供升级说明,说明镜像元数据的配额检查不再在 Nova 侧强制执行。

参考资料

历史

修订版

发布名称

描述

Ocata

引入