)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2c480234ca6b0d5a53b1093c3129ada981e3b33a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fd3d9782_08d61fb5","updated":"2025-11-07 09:34:46.000000000","message":"I\u0027ve a note inline that inclines me to say we need a releasenote in this patch saying that we fixed shared_targets behavior when drivers reported some of nvme protocols like NVMe-TCP","commit_id":"c1292e46543ac7f0c8b5acb6af879ebb7719f8d6"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"203fdb1949fa1d86bb6c77a851fd2d4780b85378","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"aa0867d5_d197c0ed","updated":"2025-11-07 09:27:55.000000000","message":"LGTM, thanks Alan!","commit_id":"c1292e46543ac7f0c8b5acb6af879ebb7719f8d6"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23d8c5d944a8f38cfd2563b791542dee516a3343","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0966608a_02b67bf5","updated":"2026-05-04 08:37:06.000000000","message":"LGTM, thanks for the releasenote Brian!","commit_id":"2902e3bc5bd64595c61b691ad224d38e7951bc66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"485a05a96857bc7e3eadbf449c6fbe7ad83553d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1f2d5e67_d7f0e45a","updated":"2026-05-07 12:43:08.000000000","message":"All I did was write the release note; I approve of the actual code change.","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"333573b53634a837373e9d826f3cca564500aa49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ca11ca51_5c7bde3c","updated":"2026-05-07 12:44:12.000000000","message":"I think as its a bug, some tests should be added to verify that `_driver_shares_targets()` returns None for all transport-specific protocols: NVMe-TCP, NVMe-RoCE, and NVMe-FC, to prevent future regression","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"ed2eb71ec31823c822bbb1d8cd26c2b5de6ecfbf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0d1e1d1b_b101abc3","updated":"2026-05-05 21:22:45.000000000","message":"Thanks for uploading the change, Eric.  I modified it locally and forgot to push the new patch set yesterday.","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"82c9acaf9caa07c1abe03a51f5223ec0d0e6deca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3c6dfeb2_0534e931","updated":"2026-05-11 15:49:01.000000000","message":"added tests here https://review.opendev.org/c/openstack/cinder/+/988113","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"f3e77c50cd504753fd1559f161bc232a94722410","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"271af2c6_d67c70f1","updated":"2026-05-11 13:07:15.000000000","message":"recheck\n\nopenstack-tox-py313 failed to deploy environment","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"7c8dbc64fba66dfd4e64324ccf0ba02f06d41d3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bf061bfc_b0948639","updated":"2026-05-07 16:28:55.000000000","message":"recheck\n\ntempest-integrated-storage failed","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e6664249c83891c9e84add1ae288e6edb661a434","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"87a2a6ef_d3a5a700","updated":"2026-05-08 16:35:13.000000000","message":"recheck cinder-plugin-ceph-tempest-mn-aa - hit retry limit","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"0941aa9801fb35fe7157bafdb6bba0e4118a736e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"61a21948_c8beca95","updated":"2026-05-06 20:28:10.000000000","message":"recheck devstack-plugin-nfs-tempest-full - job timed out, bunch of failures related to volumes failing to build in time, probably due to resource contention?","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"2e8b6e9494f0781e133fd2800149dbd51be9cf22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a73147c3_35d09750","updated":"2026-05-07 02:36:30.000000000","message":"recheck devstack-plugin-nfs-tempest-full - timed out again","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a1e20f377df89968294f073a2cae0feef0cd296c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bc60ca70_540d67ed","updated":"2026-05-06 12:51:49.000000000","message":"recheck grenade-skip-level-always - failed during object storage smoke tests","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"}],"cinder/common/constants.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d04b3f96e5accd363a02111df2c984b281ffacad","unresolved":true,"context_lines":[{"line_number":65,"context_line":"# the way the scheduler reports each backend\u0027s storage_protocol, these need"},{"line_number":66,"context_line":"# to be maintained in a separate list."},{"line_number":67,"context_line":"NVMEOF_TRANSPORTS \u003d [NVMEOF_ROCE, NVMEOF_FC, NVMEOF_TCP]"},{"line_number":68,"context_line":"NVMEOF_All_PROTOCOLS \u003d NVMEOF_VARIANTS + NVMEOF_TRANSPORTS"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"CACHEABLE_PROTOCOLS \u003d FC_VARIANTS + ISCSI_VARIANTS + NVMEOF_All_PROTOCOLS"}],"source_content_type":"text/x-python","patch_set":2,"id":"98fc1f5a_eb5a0c83","line":68,"range":{"start_line":68,"start_character":7,"end_line":68,"end_character":10},"updated":"2026-05-04 18:10:04.000000000","message":"This should be named NVMEOF_ALL_PROTOCOLS (all caps) instead.","commit_id":"2902e3bc5bd64595c61b691ad224d38e7951bc66"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"ed2eb71ec31823c822bbb1d8cd26c2b5de6ecfbf","unresolved":false,"context_lines":[{"line_number":65,"context_line":"# the way the scheduler reports each backend\u0027s storage_protocol, these need"},{"line_number":66,"context_line":"# to be maintained in a separate list."},{"line_number":67,"context_line":"NVMEOF_TRANSPORTS \u003d [NVMEOF_ROCE, NVMEOF_FC, NVMEOF_TCP]"},{"line_number":68,"context_line":"NVMEOF_All_PROTOCOLS \u003d NVMEOF_VARIANTS + NVMEOF_TRANSPORTS"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"CACHEABLE_PROTOCOLS \u003d FC_VARIANTS + ISCSI_VARIANTS + NVMEOF_All_PROTOCOLS"}],"source_content_type":"text/x-python","patch_set":2,"id":"36e5b20f_be11dc1f","line":68,"range":{"start_line":68,"start_character":7,"end_line":68,"end_character":10},"in_reply_to":"98fc1f5a_eb5a0c83","updated":"2026-05-05 21:22:45.000000000","message":"I agree, will change this in the next PS.","commit_id":"2902e3bc5bd64595c61b691ad224d38e7951bc66"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c6f3cc042924c9ad8eefff52e60808cae53394e4","unresolved":true,"context_lines":[{"line_number":67,"context_line":"NVMEOF_TRANSPORTS \u003d [NVMEOF_ROCE, NVMEOF_FC, NVMEOF_TCP]"},{"line_number":68,"context_line":"NVMEOF_ALL_PROTOCOLS \u003d NVMEOF_VARIANTS + NVMEOF_TRANSPORTS"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"CACHEABLE_PROTOCOLS \u003d FC_VARIANTS + ISCSI_VARIANTS + NVMEOF_All_PROTOCOLS"}],"source_content_type":"text/x-python","patch_set":3,"id":"88b4c19c_9378b397","line":70,"range":{"start_line":70,"start_character":60,"end_line":70,"end_character":63},"updated":"2026-05-04 19:30:18.000000000","message":"```suggestion\nCACHEABLE_PROTOCOLS \u003d FC_VARIANTS + ISCSI_VARIANTS + NVMEOF_ALL_PROTOCOLS\n```","commit_id":"2c5c26f08b7f8cee5695c24b9f3228ebf190129f"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c9873439171213bed7a3413ed5e0f36031c06426","unresolved":false,"context_lines":[{"line_number":67,"context_line":"NVMEOF_TRANSPORTS \u003d [NVMEOF_ROCE, NVMEOF_FC, NVMEOF_TCP]"},{"line_number":68,"context_line":"NVMEOF_ALL_PROTOCOLS \u003d NVMEOF_VARIANTS + NVMEOF_TRANSPORTS"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"CACHEABLE_PROTOCOLS \u003d FC_VARIANTS + ISCSI_VARIANTS + NVMEOF_All_PROTOCOLS"}],"source_content_type":"text/x-python","patch_set":3,"id":"6d0862df_91d6f784","line":70,"range":{"start_line":70,"start_character":60,"end_line":70,"end_character":63},"in_reply_to":"88b4c19c_9378b397","updated":"2026-05-06 13:23:16.000000000","message":"Done","commit_id":"2c5c26f08b7f8cee5695c24b9f3228ebf190129f"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"333573b53634a837373e9d826f3cca564500aa49","unresolved":true,"context_lines":[{"line_number":54,"context_line":"STORPOOL \u003d \u0027storpool\u0027"},{"line_number":55,"context_line":"VMDK \u003d \u0027vmdk\u0027"},{"line_number":56,"context_line":"VSTORAGE \u003d \u0027vstorageobject\u0027"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# These must be strings, because there are places that check specific type"},{"line_number":59,"context_line":"ISCSI_VARIANTS \u003d [ISCSI, ISCSI_VARIANT]"},{"line_number":60,"context_line":"FC_VARIANTS \u003d [FC, FC_VARIANT_1, FC_VARIANT_2]"}],"source_content_type":"text/x-python","patch_set":4,"id":"91b1d207_7b9d891d","line":57,"updated":"2026-05-07 12:44:12.000000000","message":"so these constants were already defined but not recognized by volume manager.\nthis change consolidates them into a new list `NVMEOF_ALL_PROTOCOLS` so they are now recognized.","commit_id":"8c841d04870c1815ef33ec7fd57bb3f22ec5f5ad"}],"cinder/volume/manager.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2c480234ca6b0d5a53b1093c3129ada981e3b33a","unresolved":true,"context_lines":[{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        protocol \u003d capabilities.get(\u0027storage_protocol\u0027)"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        if protocol in constants.NVMEOF_All_PROTOCOLS:"},{"line_number":898,"context_line":"            return None  # True must be changed to None for NVMe-oF drivers"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"        # Only iSCSI drivers would need to do locking for shared targets"}],"source_content_type":"text/x-python","patch_set":1,"id":"804a490c_b06dfe5c","line":897,"range":{"start_line":897,"start_character":33,"end_line":897,"end_character":53},"updated":"2025-11-07 09:34:46.000000000","message":"So this is clearly a fix where when a driver reported NVMe-TCP (or any other protocol apart from the standard NVMe variants) the shared_targets wouldn\u0027t work correctly. So either:\n1. None of the drivers till now reported anything apart from NVMEOF_VARIANTS\n2. shared_targets isn\u0027t used enough so we didn\u0027t catch this earlier","commit_id":"c1292e46543ac7f0c8b5acb6af879ebb7719f8d6"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"23d8c5d944a8f38cfd2563b791542dee516a3343","unresolved":true,"context_lines":[{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        protocol \u003d capabilities.get(\u0027storage_protocol\u0027)"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        if protocol in constants.NVMEOF_All_PROTOCOLS:"},{"line_number":898,"context_line":"            return None  # True must be changed to None for NVMe-oF drivers"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"        # Only iSCSI drivers would need to do locking for shared targets"}],"source_content_type":"text/x-python","patch_set":1,"id":"855eff0f_97d86e0b","line":897,"range":{"start_line":897,"start_character":33,"end_line":897,"end_character":53},"in_reply_to":"804a490c_b06dfe5c","updated":"2026-05-04 08:37:06.000000000","message":"References where this value is used\nNova: https://opendev.org/openstack/nova/src/commit/2e0bfb1102d8af376c110a169eba42e0905dae07/nova/virt/block_device.py#L768\nos-brick: https://opendev.org/openstack/os-brick/src/commit/42962355027a9aa4a2b156686b82ac7e9a0fef2f/os_brick/initiator/utils.py#L46","commit_id":"c1292e46543ac7f0c8b5acb6af879ebb7719f8d6"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"485a05a96857bc7e3eadbf449c6fbe7ad83553d7","unresolved":false,"context_lines":[{"line_number":894,"context_line":""},{"line_number":895,"context_line":"        protocol \u003d capabilities.get(\u0027storage_protocol\u0027)"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":"        if protocol in constants.NVMEOF_All_PROTOCOLS:"},{"line_number":898,"context_line":"            return None  # True must be changed to None for NVMe-oF drivers"},{"line_number":899,"context_line":""},{"line_number":900,"context_line":"        # Only iSCSI drivers would need to do locking for shared targets"}],"source_content_type":"text/x-python","patch_set":1,"id":"97dac97c_bcd2757a","line":897,"range":{"start_line":897,"start_character":33,"end_line":897,"end_character":53},"in_reply_to":"855eff0f_97d86e0b","updated":"2026-05-07 12:43:08.000000000","message":"Thanks for leaving the references.  I agree that it\u0027s strange that we\u0027re only seeing this as an issue recently.","commit_id":"c1292e46543ac7f0c8b5acb6af879ebb7719f8d6"}]}
