)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"01f58dcd27a7b64d5855ccb2f65ad2a977efe978","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"acd6f2b3_7be367a7","updated":"2026-02-04 14:52:02.000000000","message":"Content is identical to Patchset 94 on https://review.opendev.org/c/openstack/cinder/+/926844 , which had addressed all my questions, so this change LGTM.","commit_id":"fa535357897f50e9957777887648b6ad28b1d5c0"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"83ba96e43b9aa223c7bc147b26801351c58c90ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a1404e87_725d51ac","updated":"2026-02-04 14:43:44.000000000","message":"Continuation of change: Idcb96f37846d0e9e69330dc3901c69f00dabceba , which reached the maximum number of updates allowed by gerrit","commit_id":"fa535357897f50e9957777887648b6ad28b1d5c0"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"0428acfa93f461d772900852bd036ae3886b9b29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"850f13b2_58dab7cf","updated":"2026-02-04 19:06:47.000000000","message":"recheck","commit_id":"fa535357897f50e9957777887648b6ad28b1d5c0"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"b17b7fcc7a36fb38de8c338115e95e2a3a91ea9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cc2781ba_52ebcccb","updated":"2026-02-12 07:24:02.000000000","message":"Waiting for @jobernar@redhat.com +2","commit_id":"68ea37c683f088d8886641eee8773e0b37965f84"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3526225a5fba874df3d1e00e7984575c0f4eb6d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"42f90ebd_1ff0466c","updated":"2026-02-05 14:08:20.000000000","message":"renewing my +2 that was reset by a rebase.  I don\u0027t see the solidfire CI responding on this patch, though, which is necessary before we can merge this","commit_id":"68ea37c683f088d8886641eee8773e0b37965f84"},{"author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"change_message_id":"195fd704428ddbbea898e71baab22f3986e8dea8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"122c8e24_3ad34d32","updated":"2026-02-13 11:43:29.000000000","message":"- The code is same as previous patchset.\n- The create_volumegroupsnapshot, delete_volumegroup_snapshot,    update_volumegroup_snapshot_properties are all written by considering near all possible cases and the code behaves as expected.\n- I had some initial concerns regarding certain object access patterns that seemed potentially unsafe. However, after reviewing the data flow and discussing the details with the developer over Slack, it is clear that these sections are appropriately guarded by the nature of the data being passed and processed.\n\nApproving this.","commit_id":"0fcac00f704d5b4bdafa5cc48e8b3c86a8795d13"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e956ccb173ae76a5a4d26aef044e573574ae9e09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"fcfc901c_4e5563f2","updated":"2026-02-18 13:22:55.000000000","message":"The -1 is to get your attention ... what is the SVf third-party CI situation with respect to this patch?","commit_id":"0fcac00f704d5b4bdafa5cc48e8b3c86a8795d13"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"1b48e02c05bba36037907ca6dab87d4542cdad38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"09442460_c2c30771","updated":"2026-02-17 07:00:32.000000000","message":"recheck","commit_id":"0fcac00f704d5b4bdafa5cc48e8b3c86a8795d13"},{"author":{"_account_id":36538,"name":"Harsh Ailani","display_name":"Harsh Ailani","email":"harsh.ailani@ibm.com","username":"harshailani"},"change_message_id":"14bfc8d425d5dbe5540f9b7085869352f01ba009","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c9869470_1aa555de","in_reply_to":"fcfc901c_4e5563f2","updated":"2026-02-19 13:02:51.000000000","message":"IBM CI was down but its fixed and passed now.","commit_id":"0fcac00f704d5b4bdafa5cc48e8b3c86a8795d13"},{"author":{"_account_id":36439,"name":"Vivek Pandey","email":"vivek.pandey11@ibm.com","username":"vivek.pandey11"},"change_message_id":"e4d8d3a8f8a0f5bd8b759298bfdc98ca4c0d1220","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"df0e3a2e_f32848a5","updated":"2026-02-20 10:47:25.000000000","message":"recheck","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"e08ecce6a5f7e2ff4b0acfcf89337bb13ce9ace1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"01e6c0e1_6cf5234e","in_reply_to":"df0e3a2e_f32848a5","updated":"2026-02-20 16:31:03.000000000","message":"Done","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"1b7b4c8a65f6c3633d6af175f1c690a443d53e84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"53801f61_00c00f5d","updated":"2026-02-20 16:57:06.000000000","message":"Change since PS5 LGTM -- good catch by jayaanand","commit_id":"7df1fc8a9d6442d5429423e2231725dcc68bfb3e"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"1c98c8d3af80f9ad8d573e87a5a496cd56c9407a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"99c0e7f5_d4645610","updated":"2026-02-21 04:32:00.000000000","message":"recheck tempest-integrated-storage","commit_id":"7df1fc8a9d6442d5429423e2231725dcc68bfb3e"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"483f95e821d7d15b3160a26f77d2ea45dfaff62e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"18014b4e_eff39418","updated":"2026-03-03 18:11:02.000000000","message":"Changes overall look good as well as from Brian\u0027s earlier review, lgtm.","commit_id":"f96a21b5eecb4bef323884b54372c327c7712d16"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_common.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"ea31db3d3bca165ea07b7666c41126db952d4ae3","unresolved":true,"context_lines":[{"line_number":2967,"context_line":"                     fields.ReplicationStatus.NOT_CAPABLE)})"},{"line_number":2968,"context_line":"        return snapshots_model"},{"line_number":2969,"context_line":""},{"line_number":2970,"context_line":"    def create_volumegroup_snapshot(self, context, group_snapshot,"},{"line_number":2971,"context_line":"                                    snapshots, group_type):"},{"line_number":2972,"context_line":"        \"\"\"Create a volumegroup snapshot based on the group_type\"\"\""},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7bbee35c_f07888ac","line":2970,"updated":"2026-02-20 15:06:22.000000000","message":"On a successful addsnapshot(), update_volumegroup_snapshot_properties() is only in the except branch and is never executed. As a result:\n\nsnapshots_model returns as [] (Cinder won\u0027t update any snapshot status in the DB)\nSnapshot metadata keys svc_volumegroup_snapshot_name and svc_volumegroup_snapshot_id are never persisted to snapshot.metadata\nThe temporary_volume_group_enabled delete path reads snapshots[0].metadata.get(\u0027svc_volumegroup_snapshot_id\u0027) — this will always be None since it was never written on create\nThis is identical in both the volume_group_enabled and temporary_volume_group_enabled branches","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":38067,"name":"Sandip Rajbanshi","display_name":"Sandip27","email":"sandip.rajbanshi@ibm.com","username":"sandip-rajbanshi-27"},"change_message_id":"8bedb94d2ab621b61d6e6110b32a4560c09e4192","unresolved":true,"context_lines":[{"line_number":2967,"context_line":"                     fields.ReplicationStatus.NOT_CAPABLE)})"},{"line_number":2968,"context_line":"        return snapshots_model"},{"line_number":2969,"context_line":""},{"line_number":2970,"context_line":"    def create_volumegroup_snapshot(self, context, group_snapshot,"},{"line_number":2971,"context_line":"                                    snapshots, group_type):"},{"line_number":2972,"context_line":"        \"\"\"Create a volumegroup snapshot based on the group_type\"\"\""},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"736bee4e_371d45f8","line":2970,"in_reply_to":"7bbee35c_f07888ac","updated":"2026-02-20 16:09:15.000000000","message":"@jayaanand.borra@netapp.com,\nPlease check again,\nI think update_volumegroup_snapshot_properties() is not inside except branch so once addsnapshot() returns success then update_volumegroup_snapshot_properties() will be called.","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"205a2309b952f7dd8450cdd7b386b6686775ce83","unresolved":false,"context_lines":[{"line_number":2967,"context_line":"                     fields.ReplicationStatus.NOT_CAPABLE)})"},{"line_number":2968,"context_line":"        return snapshots_model"},{"line_number":2969,"context_line":""},{"line_number":2970,"context_line":"    def create_volumegroup_snapshot(self, context, group_snapshot,"},{"line_number":2971,"context_line":"                                    snapshots, group_type):"},{"line_number":2972,"context_line":"        \"\"\"Create a volumegroup snapshot based on the group_type\"\"\""},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"cae66655_602af7ad","line":2970,"in_reply_to":"7bbee35c_f07888ac","updated":"2026-02-20 16:12:44.000000000","message":"call to update_volumegroup_snapshot_properties is not under except but it is after try-except block. It gets executed in all cases regardless of exception.","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"ea31db3d3bca165ea07b7666c41126db952d4ae3","unresolved":true,"context_lines":[{"line_number":3039,"context_line":"        \"\"\"Check if volumegroup snapshot exists.\"\"\""},{"line_number":3040,"context_line":""},{"line_number":3041,"context_line":"        attrs \u003d self.ssh.lsvolumegroupsnapshot(params)"},{"line_number":3042,"context_line":"        return attrs[0] is not None"},{"line_number":3043,"context_line":""},{"line_number":3044,"context_line":"    def delete_volumegroup_snapshot(self, group_snapshot, snapshots,"},{"line_number":3045,"context_line":"                                    group_type):"}],"source_content_type":"text/x-python","patch_set":7,"id":"591ac494_4078a3e7","line":3042,"updated":"2026-02-20 15:06:22.000000000","message":"The new lsvolumegroupsnapshot() returns None when err or not out. Calling None[0] raises TypeError: \u0027NoneType\u0027 object is not subscriptable. The old code was return attrs is not None — correctly safe. This crash propagates into delete_volumegroup_snapshot() every time it checks whether a snapshot exists before attempting deletion.","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"},{"author":{"_account_id":37328,"name":"Nimesh Desai","display_name":"Nimesh Desai","email":"nimesh.desai@ibm.com","username":"nimeshdesai"},"change_message_id":"e08ecce6a5f7e2ff4b0acfcf89337bb13ce9ace1","unresolved":false,"context_lines":[{"line_number":3039,"context_line":"        \"\"\"Check if volumegroup snapshot exists.\"\"\""},{"line_number":3040,"context_line":""},{"line_number":3041,"context_line":"        attrs \u003d self.ssh.lsvolumegroupsnapshot(params)"},{"line_number":3042,"context_line":"        return attrs[0] is not None"},{"line_number":3043,"context_line":""},{"line_number":3044,"context_line":"    def delete_volumegroup_snapshot(self, group_snapshot, snapshots,"},{"line_number":3045,"context_line":"                                    group_type):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7c518131_f3f0c961","line":3042,"in_reply_to":"591ac494_4078a3e7","updated":"2026-02-20 16:31:03.000000000","message":"Done","commit_id":"66290fef3798eb89c4d4eb46d1d9b0c70e71f154"}]}
