)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"c64cd1fce0747c0459d8c5454098f79074ec34f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c828225b_557eb819","updated":"2026-04-23 10:14:35.000000000","message":"LGTM","commit_id":"9c94517ba341861d3f403af979cf2057360a05bf"},{"author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"change_message_id":"aa51fc8a2d602cd0d26e7b62b858e0c69cbaadc6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5542810d_302cdf75","updated":"2026-06-04 07:40:32.000000000","message":"run-IBM-CI","commit_id":"43ceb11a2a56904449c5c0fcb835f9bb4d38f078"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"8891415549d521de1243900853b8115d7ec7446a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"19c9d875_0b619be9","in_reply_to":"5542810d_302cdf75","updated":"2026-06-26 12:33:15.000000000","message":"Acknowledged","commit_id":"43ceb11a2a56904449c5c0fcb835f9bb4d38f078"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"64c8c389e615eb7236c326dd3f2487c070e35f18","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"12c0f111_8f0f83c0","updated":"2026-06-04 10:00:33.000000000","message":"run-IBM-CI","commit_id":"926bb350ba22355d86fc59d2402c91bc2e285055"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"8891415549d521de1243900853b8115d7ec7446a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"50cefa81_2d62ee9c","in_reply_to":"12c0f111_8f0f83c0","updated":"2026-06-26 12:33:15.000000000","message":"Acknowledged","commit_id":"926bb350ba22355d86fc59d2402c91bc2e285055"},{"author":{"_account_id":37888,"name":"Akshay Ranade","display_name":"Akshay Ranade","email":"akshay.ranade@ibm.com","username":"rakshay"},"change_message_id":"5da43d6dab5be59d7966a9f87b5b72fb60d8b47b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e7a16f82_583997c8","updated":"2026-06-16 16:28:10.000000000","message":"Approved. Please make sure IBM CI works fine on the changes.","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"fa042c8d2d8527de46bbda0dea4abb9158752680","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9ced1b15_c4c4e79a","updated":"2026-06-24 17:52:55.000000000","message":"I\u0027m holding this until we get the CI passing. Can you get your CI to run/pass on this patch?","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"45388f5a1e5aaeb0d8ad615a0e42accdae9a3f2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0aeb8ac5_75880ded","updated":"2026-06-09 10:34:53.000000000","message":"LGTM","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38067,"name":"Sandip Rajbanshi","display_name":"Sandip27","email":"sandip.rajbanshi@ibm.com","username":"sandip-rajbanshi-27"},"change_message_id":"54449a65d7668c577362287eead1e98925fa06d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4e98506b_b4f1507c","updated":"2026-06-10 10:23:00.000000000","message":"Looks good to me.","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"95b067bc0c4e9753bc0c23b1604d5d5e10fc258f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f2df9f6a_057c3def","updated":"2026-06-16 10:09:39.000000000","message":"run-IBM-CI","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"8891415549d521de1243900853b8115d7ec7446a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5fdc4d3b_6d010e2b","updated":"2026-06-26 12:33:15.000000000","message":"run-ibm-ci","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":36439,"name":"Vivek Pandey","email":"vivek.pandey11@ibm.com","username":"vivek.pandey11"},"change_message_id":"971f7a1f81b019510449907463c1946298d937cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"a30642d2_032e2711","updated":"2026-06-18 06:48:35.000000000","message":"run-ibm-ci","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"8891415549d521de1243900853b8115d7ec7446a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8a85f21c_5178be54","in_reply_to":"f2df9f6a_057c3def","updated":"2026-06-26 12:33:15.000000000","message":"Acknowledged","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"}],"cinder/volume/drivers/ibm/storwize_svc/storwize_svc_fc.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"7d18beff249823a5f4eacc630bfbe83d31199d43","unresolved":true,"context_lines":[{"line_number":333,"context_line":"        LOG.debug(\u0027enter: terminate_connection: volume %(vol)s with \u0027"},{"line_number":334,"context_line":"                  \u0027connector %(conn)s. kwargs %(k)s\u0027,"},{"line_number":335,"context_line":"                  {\u0027vol\u0027: volume, \u0027conn\u0027: connector, \u0027k\u0027: kwargs})"},{"line_number":336,"context_line":"        host \u003d connector.get(\u0027host\u0027, \u0027\u0027) if connector else \"\""},{"line_number":337,"context_line":"        attachment_count \u003d 0"},{"line_number":338,"context_line":"        if hasattr(volume, \u0027multiattach\u0027) and volume.multiattach:"},{"line_number":339,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"8182b621_e35cb6f2","line":336,"updated":"2026-06-08 14:19:37.000000000","message":"The code changes look good to me. My only question was around multi attach behaviour and whether this logic covers that scenario. Also, do we have a UT to cover multiattach scenarios?","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"45388f5a1e5aaeb0d8ad615a0e42accdae9a3f2d","unresolved":false,"context_lines":[{"line_number":333,"context_line":"        LOG.debug(\u0027enter: terminate_connection: volume %(vol)s with \u0027"},{"line_number":334,"context_line":"                  \u0027connector %(conn)s. kwargs %(k)s\u0027,"},{"line_number":335,"context_line":"                  {\u0027vol\u0027: volume, \u0027conn\u0027: connector, \u0027k\u0027: kwargs})"},{"line_number":336,"context_line":"        host \u003d connector.get(\u0027host\u0027, \u0027\u0027) if connector else \"\""},{"line_number":337,"context_line":"        attachment_count \u003d 0"},{"line_number":338,"context_line":"        if hasattr(volume, \u0027multiattach\u0027) and volume.multiattach:"},{"line_number":339,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"099ebead_8c00f29e","line":336,"in_reply_to":"27a274e1_f05bcc5c","updated":"2026-06-09 10:34:53.000000000","message":"Acknowledged","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"},{"author":{"_account_id":38319,"name":"Rutuja Pawar","email":"rutuja.pawar@ibm.com","username":"rutuja.pawar"},"change_message_id":"aa98c9a9eb4eef2039a8736a12f936d76022162b","unresolved":true,"context_lines":[{"line_number":333,"context_line":"        LOG.debug(\u0027enter: terminate_connection: volume %(vol)s with \u0027"},{"line_number":334,"context_line":"                  \u0027connector %(conn)s. kwargs %(k)s\u0027,"},{"line_number":335,"context_line":"                  {\u0027vol\u0027: volume, \u0027conn\u0027: connector, \u0027k\u0027: kwargs})"},{"line_number":336,"context_line":"        host \u003d connector.get(\u0027host\u0027, \u0027\u0027) if connector else \"\""},{"line_number":337,"context_line":"        attachment_count \u003d 0"},{"line_number":338,"context_line":"        if hasattr(volume, \u0027multiattach\u0027) and volume.multiattach:"},{"line_number":339,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":7,"id":"27a274e1_f05bcc5c","line":336,"in_reply_to":"8182b621_e35cb6f2","updated":"2026-06-09 10:02:22.000000000","message":"For multi-attach scenarios, we prioritize integrity over consistency. Therefore, we do not perform any action and skip terminating the volume connection.\n\nYes, UT coverage exists for the multiattach force-detach scenario. The iSCSI path is covered by test_storwize_terminate_iscsi_multiAttachForceDetach(), and the FC path is covered by test_storwize_terminate_fc_multi_attach_ForceDetach(). These tests set multiattach \u003d True, create two attached records on the same host, and validate the force-detach behavior.","commit_id":"f6790c52973e98a7ee42503b17ec14ba80b764fc"}]}
