4.0 KiB
Deprecated image-metadata proxy API
https://blueprints.launchpad.net/nova/+spec/deprecate-image-meta-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.
Problem description
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.
Use Cases
- 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.
Proposed change
Propose to deprecated image-metadata API and remove the extra quota enforcement with Nova metadata quota in the new Microversion.
Alternatives
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
None
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.
Security impact
None
Notifications impact
None
Other end user impact
The 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.
Performance Impact
None
Other deployer impact
Deployer should update the image metadata quota in the glance side to match the limit in nova create image/backup API.
Developer impact
None
Implementation
Assignee(s)
- Primary assignee:
-
Alex Xu <hejie.xu@intel.com>
Work Items
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.
Dependencies
None
Testing
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.
Documentation Impact
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.
References
History
Release Name | Description |
---|---|
Ocata | Introduced |