From a71f7ba44e57a7945addb82afd2a19962d5c04cc Mon Sep 17 00:00:00 2001 From: Abhishek Kekane Date: Tue, 28 Jun 2022 05:40:15 +0000 Subject: [PATCH] [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 --- glance/api/v2/cached_images.py | 6 ++++++ glance/tests/functional/v2/test_cache_api.py | 4 ++-- .../notes/bug-1980049-623d2eb0fa074136.yaml | 14 ++++++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/bug-1980049-623d2eb0fa074136.yaml diff --git a/glance/api/v2/cached_images.py b/glance/api/v2/cached_images.py index 689c56a2de..a91720c6b6 100644 --- a/glance/api/v2/cached_images.py +++ b/glance/api/v2/cached_images.py @@ -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""" diff --git a/glance/tests/functional/v2/test_cache_api.py b/glance/tests/functional/v2/test_cache_api.py index 4865c6d4f9..35ddca169f 100644 --- a/glance/tests/functional/v2/test_cache_api.py +++ b/glance/tests/functional/v2/test_cache_api.py @@ -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: diff --git a/releasenotes/notes/bug-1980049-623d2eb0fa074136.yaml b/releasenotes/notes/bug-1980049-623d2eb0fa074136.yaml new file mode 100644 index 0000000000..544d0defc5 --- /dev/null +++ b/releasenotes/notes/bug-1980049-623d2eb0fa074136.yaml @@ -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 `_: + 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.