Deprecated image-metadata proxy API¶
The proxies APIs were deprecated in the propose of Deprecated API Proxies. But the image-metadata API missed in that propose. This spec aims to describe the deprecation of image-metadata API.
The proxies API should be removed from the Nova API. The image-metadata API is one of them. It is just a proxy API for Glance API to operate the image metadata.
There is quota check in create_image/backup APIs for extra metadatas, it enforces with Nova metadata quota. In the glance, there is configure option image_property_quota used to control the quota of image metadatas. So this quota check should be enforced by the Glance API directly. Nova shouldn’t enforce quota for the resource which isn’t managed by itself.
User should update the image metadata from the glance API directly, not the proxy API in Nova.
Admin only needs to control the quota of image metadata in one single point, and that point is Glance.
Propose to deprecated image-metadata API and remove the extra quota enforcement with Nova metadata quota in the new Microversion.
Keep these proxies forever. This will increase the cost of the maintenance of Nova and slow down our ability to adapt to new features and requirements.
Data model impact¶
REST API impact¶
With new microversion, the request to the image-metadata API will get response HTTPNotFound 404. The image quota enforcement with Nova metadata will be removed, and the maxImageMeta field will be removed from os-limits API.
Other end user impact¶
nova image-meta CLI is already deprecated. The python API binding in
python-novaclient will be cap to the new microversion also. User only can use
this command in the old Microversion and we’ll plan to remove that in the
first major python-novaclient release after Nova 15.0.0 is released.
Other deployer impact¶
Deployer should update the image metadata quota in the glance side to match the limit in nova create image/backup API.
- Primary assignee:
Alex Xu <firstname.lastname@example.org>
The following are all done under a single new microversion:
Deprecate the image-metadata API.
Remove the quota check for create image/backup actions.
Remove maxImageMeta field from os-limits API.
Cap the image metadata python API binding in python-novaclient.
There will be in tree functional testing that these APIs do the right thing after this microversion and return 404s.
For Tempest, the ImagesMetadataTestJSON will need to be capped at the microversion. There are ongoing discussions on how to handle this in the openstack-dev mailing list.
Update the api-ref about the image-metadata is deprecated in the new Microversion. Also need upgrade note for the deployer the quota check of image metadata doesn’t enforce at Nova side anymore.