)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"80de5e22ce8e9214c7e99acc77f4138377b907c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"627655ff_3090d098","updated":"2025-07-23 21:20:15.000000000","message":"I need to add a release note.","commit_id":"ec75251bc39e98665df6acb4b37044742b5921a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0244d0d8b0ca293503bc9e6cc4ef137aea7ec4d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"95a33856_8a51b469","updated":"2025-08-20 21:30:31.000000000","message":"I\u0027ve tested it locally by tweaking the LVM driver to raise the SnapshotLimitReached exception and it works as expected (deleting the volume as well as the cache entry) then trying to recreate the cache entry and cloning the new volume from it. The code and tests looks good to me and works as desired.","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"fe6dc80b779dbec1cc037ce821271937dea17fa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"34642e59_db0114b7","updated":"2025-07-24 21:53:58.000000000","message":"recheck\n\nPOST_FAILURE","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"55c99ffb280eb847dc048552ef6f458e4201e009","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f5832b3_4e3df804","updated":"2025-08-26 17:10:36.000000000","message":"Thanks for the update Alan!\nI\u0027ve tested this again and the LOG message does show now clarifying the reason for deleting the image-cache.\n\nDEBUG cinder.image.cache [None req-5e89d8e2-c937-4925-a792-e2165b5826da admin None] Deleting image-volume cache entry that reached its cloning snapshot limit: entry {\u0027id\u0027: 10, \u0027image_id\u0027: \u002797ae1a68-ae2a-4be7-b742-23c9cd4d57d3\u0027, \u0027volume_id\u0027: \u002724519d6c-a4f6-4e63-9e89-051807bc3557\u0027, \u0027host\u0027: \u0027ubuntu-VirtualBox@lvmdriver-1#lvmdriver-1\u0027, \u0027size\u0027: 1, \u0027image_updated_at\u0027: datetime.datetime(2025, 8, 15, 20, 14, 33), \u0027last_used\u0027: datetime.datetime(2025, 8, 26, 17, 6, 7, 44192)}. {{(pid\u003d577897) delete_cached_volume /opt/stack/cinder/cinder/image/cache.py:144}}\n\nAlso the image-cache is being deleted successfully.\n\nBEFORE:\n\n$ cinder list --all\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+\n| ID                                   | Tenant ID                        | Status    | Name                                       | Size | Volume Type | Bootable | Attached to |\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+\n| 24519d6c-a4f6-4e63-9e89-051807bc3557 | ee0d97fa0e8c40688a1e862dc93dfddf | available | image-97ae1a68-ae2a-4be7-b742-23c9cd4d57d3 | 1    | lvmdriver-1 | false    |             |\n| 97387eab-9711-4cd0-823a-cd5865843dd8 | ee0d97fa0e8c40688a1e862dc93dfddf | available | image-a74ee08e-840c-4cdb-a27d-69f5f29a4fc2 | 5    | lvmdriver-1 | false    |             |\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+\n\nAFTER:\n\n$ openstack volume create --image cirros-raw --size 1 cirros-1g\n\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+\n| ID                                   | Tenant ID                        | Status    | Name                                       | Size | Volume Type | Bootable | Attached to |\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+\n| 97387eab-9711-4cd0-823a-cd5865843dd8 | ee0d97fa0e8c40688a1e862dc93dfddf | available | image-a74ee08e-840c-4cdb-a27d-69f5f29a4fc2 | 5    | lvmdriver-1 | false    |             |\n| d5d7e357-3307-4446-8449-58972180b4d9 | 468bd6994340486c89275d65d69452b7 | available | cirros-1g                                  | 1    | lvmdriver-1 | true     |             |\n+--------------------------------------+----------------------------------+-----------+--------------------------------------------+------+-------------+----------+-------------+","commit_id":"ccd69534e30550951458ec1ef06280f62bd35bcf"}],"cinder/image/cache.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0244d0d8b0ca293503bc9e6cc4ef137aea7ec4d1","unresolved":true,"context_lines":[{"line_number":143,"context_line":"                             cache_entry: dict) -\u003e None:"},{"line_number":144,"context_line":"        \"\"\"Delete a volume and remove cache entry.\"\"\""},{"line_number":145,"context_line":"        volume \u003d objects.Volume.get_by_id(context, cache_entry[\u0027volume_id\u0027])"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        # Delete will evict the cache entry."},{"line_number":148,"context_line":"        self.volume_api.delete(context, volume)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d57a00b2_63ac996c","line":146,"updated":"2025-08-20 21:30:31.000000000","message":"nit: since this is a public method now used outside of the scope of \"image cache\" module, it would be good to have a DEBUG log here stating the reason for deleting the volume, like,\n\"Deleting image-cached volume as the entry is outdated, we reached a specific size or count limit or any driver specific exception occurred\"\n\nOn second thought, the oudated entry and size/count limit checks do log their own specific messages with a suitable reason so probably we only need to handle the SnapshotLimitReached case.","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"55c99ffb280eb847dc048552ef6f458e4201e009","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                             cache_entry: dict) -\u003e None:"},{"line_number":144,"context_line":"        \"\"\"Delete a volume and remove cache entry.\"\"\""},{"line_number":145,"context_line":"        volume \u003d objects.Volume.get_by_id(context, cache_entry[\u0027volume_id\u0027])"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        # Delete will evict the cache entry."},{"line_number":148,"context_line":"        self.volume_api.delete(context, volume)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"26cc3622_131f80cb","line":146,"in_reply_to":"7697117d_bd01f321","updated":"2025-08-26 17:10:36.000000000","message":"Done","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"f0369ae64a61cde90a3dbe532417065b9e14afb3","unresolved":true,"context_lines":[{"line_number":143,"context_line":"                             cache_entry: dict) -\u003e None:"},{"line_number":144,"context_line":"        \"\"\"Delete a volume and remove cache entry.\"\"\""},{"line_number":145,"context_line":"        volume \u003d objects.Volume.get_by_id(context, cache_entry[\u0027volume_id\u0027])"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"        # Delete will evict the cache entry."},{"line_number":148,"context_line":"        self.volume_api.delete(context, volume)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7697117d_bd01f321","line":146,"in_reply_to":"d57a00b2_63ac996c","updated":"2025-08-21 15:56:01.000000000","message":"Ack. I\u0027ll push another patchset reworks the public method so that it generates the log message using a new \u0027msg\u0027 parameter.","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0244d0d8b0ca293503bc9e6cc4ef137aea7ec4d1","unresolved":true,"context_lines":[{"line_number":854,"context_line":"            # it is because the image-volume reached its snapshot limit."},{"line_number":855,"context_line":"            # Delete current cache entry and create a \"fresh\" entry."},{"line_number":856,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":857,"context_line":"                self.image_volume_cache.delete_cached_volume(context,"},{"line_number":858,"context_line":"                                                             cache_entry)"},{"line_number":859,"context_line":"        except NotImplementedError:"},{"line_number":860,"context_line":"            LOG.warning(\u0027Backend does not support creating image-volume \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"0cabc505_72ddec40","line":857,"range":{"start_line":857,"start_character":0,"end_line":857,"end_character":69},"updated":"2025-08-20 21:30:31.000000000","message":"maybe a debug log here is suitable stating the reason for deleting the volume (currently the logs only mention that a delete was issued which might be confusing while going through the logs -- why does creating a volume issue a delete call)\nsee comment in cinder/image/cache.py file","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"f0369ae64a61cde90a3dbe532417065b9e14afb3","unresolved":true,"context_lines":[{"line_number":854,"context_line":"            # it is because the image-volume reached its snapshot limit."},{"line_number":855,"context_line":"            # Delete current cache entry and create a \"fresh\" entry."},{"line_number":856,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":857,"context_line":"                self.image_volume_cache.delete_cached_volume(context,"},{"line_number":858,"context_line":"                                                             cache_entry)"},{"line_number":859,"context_line":"        except NotImplementedError:"},{"line_number":860,"context_line":"            LOG.warning(\u0027Backend does not support creating image-volume \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"a912ba48_8b7ca021","line":857,"range":{"start_line":857,"start_character":0,"end_line":857,"end_character":69},"in_reply_to":"0cabc505_72ddec40","updated":"2025-08-21 15:56:01.000000000","message":"I agree, and will address this in the next patchset.","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"55c99ffb280eb847dc048552ef6f458e4201e009","unresolved":false,"context_lines":[{"line_number":854,"context_line":"            # it is because the image-volume reached its snapshot limit."},{"line_number":855,"context_line":"            # Delete current cache entry and create a \"fresh\" entry."},{"line_number":856,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":857,"context_line":"                self.image_volume_cache.delete_cached_volume(context,"},{"line_number":858,"context_line":"                                                             cache_entry)"},{"line_number":859,"context_line":"        except NotImplementedError:"},{"line_number":860,"context_line":"            LOG.warning(\u0027Backend does not support creating image-volume \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"514a89dc_d9989896","line":857,"range":{"start_line":857,"start_character":0,"end_line":857,"end_character":69},"in_reply_to":"a912ba48_8b7ca021","updated":"2025-08-26 17:10:36.000000000","message":"Done","commit_id":"968aa0d2202d22d3b5f97f0540ec5243516dcdde"}]}
