[APIImpact] Correct API response code for DELETE cache APIs

DELETE /v2/cache/{image_id} and /v2/cache returns HTTP 200 response
code to user but as per proposal it should be HTTP 204. This change
returns HTTP 204 response to user.

Closes-Bug: #1980049
Change-Id: I9d1c25638584fe346e3937d0536413d548d46e8e
This commit is contained in:
Abhishek Kekane 2022-06-28 05:40:15 +00:00
parent 30cec04ba6
commit a71f7ba44e
3 changed files with 22 additions and 2 deletions

View File

@ -240,6 +240,12 @@ class CachedImageSerializer(wsgi.JSONResponseSerializer):
def queue_image_from_api(self, response, result):
response.status_int = 202
def clear_cache(self, response, result):
response.status_int = 204
def delete_cache_entry(self, response, result):
response.status_int = 204
def create_resource():
"""Cached Images resource factory method"""

View File

@ -85,12 +85,12 @@ class TestImageCache(functional.SynchronousAPIBase):
response = self.api_put(path)
self.assertEqual(expected_code, response.status_code)
def cache_delete(self, image_id, expected_code=200):
def cache_delete(self, image_id, expected_code=204):
path = '/v2/cache/%s' % image_id
response = self.api_delete(path)
self.assertEqual(expected_code, response.status_code)
def cache_clear(self, target='', expected_code=200):
def cache_clear(self, target='', expected_code=204):
path = '/v2/cache'
headers = {}
if target:

View File

@ -0,0 +1,14 @@
---
upgrade:
- |
The Image service API call ``DELETE /v2/cache/{image_id}`` and
``DELETE /v2/cache`` now returns a 204 (No Content) response code
to indicate success. In glance 24.0.0 (the initial Yoga release),
it had mistakenly returned a 200.
fixes:
- |
Bug `1980049 <https://bugs.launchpad.net/glance/+bug/1980049>`_:
Fixed the success response code of the REST API call
``DELETE /v2/cache/{image_id}`` and ``DELETE /v2/cache`` to be
204 (No Content), following the original design of the feature.