)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2051b7271c362bd9af3eba28286f3b59271165a9","unresolved":true,"context_lines":[{"line_number":7,"context_line":"fix: Ensure cache_delete_image returns None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously returned result of _delete. Now always returns None"},{"line_number":10,"context_line":"for consistency with SDK delete methods."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib52617999ef260ef52373ca38b89e432810f106a"},{"line_number":13,"context_line":"Signed-off-by: jja6312 \u003cjja6312@naver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5711182b_737fc1c2","line":10,"updated":"2025-11-12 12:48:31.000000000","message":"This is only a partial fix. I see many more cases where we return the response of the `DELETE` operation. Using [ag](https://geoff.greer.fm/ag/):\n\n```\n❯ ag \u0027return self._delete(\u0027 -Q -l\nopenstack/workflow/v2/_proxy.py\nopenstack/baremetal/v1/_proxy.py\nopenstack/image/v2/_proxy.py\nopenstack/instance_ha/v1/_proxy.py\nopenstack/load_balancer/v2/_proxy.py\nopenstack/clustering/v1/_proxy.py\nopenstack/accelerator/v2/_proxy.py\nopenstack/message/v2/_proxy.py\nopenstack/dns/v2/_proxy.py\nopenstack/shared_file_system/v2/_proxy.py\n```\n\nCould you fix all of these rather than only fixing one?","commit_id":"575203d1500edf5f6d1917075dee132a8f2a69c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ae5b81712f536e593f017622754e1612a477eba4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"fix: Ensure cache_delete_image returns None"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Previously returned result of _delete. Now always returns None"},{"line_number":10,"context_line":"for consistency with SDK delete methods."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib52617999ef260ef52373ca38b89e432810f106a"},{"line_number":13,"context_line":"Signed-off-by: jja6312 \u003cjja6312@naver.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3b03345e_47c155da","line":10,"in_reply_to":"5711182b_737fc1c2","updated":"2026-03-02 11:13:54.000000000","message":"Turns out this method can return something.","commit_id":"575203d1500edf5f6d1917075dee132a8f2a69c1"}],"openstack/image/v2/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2051b7271c362bd9af3eba28286f3b59271165a9","unresolved":true,"context_lines":[{"line_number":87,"context_line":"    def cache_delete_image(self, image, ignore_missing\u003dTrue):"},{"line_number":88,"context_line":"        \"\"\"Delete an image from cache."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        :param image: The value can be either the ID of an image or a"},{"line_number":91,"context_line":"            :class:`~openstack.image.v2.image.Image`"},{"line_number":92,"context_line":"            instance."},{"line_number":93,"context_line":"        :param bool ignore_missing: When set to ``False``,"},{"line_number":94,"context_line":"            :class:`~openstack.exceptions.NotFoundException` will be raised when"},{"line_number":95,"context_line":"            the image (or cache entry) does not exist."},{"line_number":96,"context_line":"        :returns: ``None``"},{"line_number":97,"context_line":"        \"\"\""},{"line_number":98,"context_line":"        self._delete(_cache.Cache, image, ignore_missing\u003dignore_missing)"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"e9b28ae1_78361abb","line":96,"range":{"start_line":90,"start_character":0,"end_line":96,"end_character":26},"updated":"2025-11-12 12:48:31.000000000","message":"This would be a good fix by itself, without the changes to the return type.","commit_id":"575203d1500edf5f6d1917075dee132a8f2a69c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ae5b81712f536e593f017622754e1612a477eba4","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    def cache_delete_image(self, image, ignore_missing\u003dTrue):"},{"line_number":88,"context_line":"        \"\"\"Delete an image from cache."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        :param image: The value can be either the ID of an image or a"},{"line_number":91,"context_line":"            :class:`~openstack.image.v2.image.Image`"},{"line_number":92,"context_line":"            instance."},{"line_number":93,"context_line":"        :param bool ignore_missing: When set to ``False``,"},{"line_number":94,"context_line":"            :class:`~openstack.exceptions.NotFoundException` will be raised when"},{"line_number":95,"context_line":"            the image (or cache entry) does not exist."},{"line_number":96,"context_line":"        :returns: ``None``"},{"line_number":97,"context_line":"        \"\"\""},{"line_number":98,"context_line":"        self._delete(_cache.Cache, image, ignore_missing\u003dignore_missing)"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"0e6953be_83a6e98b","line":96,"range":{"start_line":90,"start_character":0,"end_line":96,"end_character":26},"in_reply_to":"e9b28ae1_78361abb","updated":"2026-03-02 11:13:54.000000000","message":"Done","commit_id":"575203d1500edf5f6d1917075dee132a8f2a69c1"}],"openstack/tests/unit/image/v2/test_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4aaed31842f0dec11ac955ccd5bf8fa70da12294","unresolved":true,"context_lines":[{"line_number":1132,"context_line":"        )"},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"    def test_cache_image_delete(self):"},{"line_number":1135,"context_line":"        self.verify_delete("},{"line_number":1136,"context_line":"            self.proxy.cache_delete_image,"},{"line_number":1137,"context_line":"            _cache.Cache,"},{"line_number":1138,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf8ad58f_901c1494","side":"PARENT","line":1135,"updated":"2025-09-25 10:04:32.000000000","message":"Rather than changing this, can\u0027t we modify `verify_delete` so that it asserts the return value is `None` (since we should be doing that everywhere)?","commit_id":"f515dc109e5e6d5771f6b8ffde235f0ab3a180f5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ae5b81712f536e593f017622754e1612a477eba4","unresolved":false,"context_lines":[{"line_number":1132,"context_line":"        )"},{"line_number":1133,"context_line":""},{"line_number":1134,"context_line":"    def test_cache_image_delete(self):"},{"line_number":1135,"context_line":"        self.verify_delete("},{"line_number":1136,"context_line":"            self.proxy.cache_delete_image,"},{"line_number":1137,"context_line":"            _cache.Cache,"},{"line_number":1138,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":3,"id":"f4d42e80_6e3461b6","side":"PARENT","line":1135,"in_reply_to":"bf8ad58f_901c1494","updated":"2026-03-02 11:13:54.000000000","message":"No longer applicable.","commit_id":"f515dc109e5e6d5771f6b8ffde235f0ab3a180f5"}]}
