)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"012adb0869fa02eaa2429d881d1262e6ca3fbe41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"99cdabcc_5362a3db","updated":"2026-10-05 11:23:21.000000000","message":"One comment. Can we also get a test and a release note for this, please?","commit_id":"e7727ad2da62fbd98aa55ff5095efcd4865b3d9f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"562397fc819d2edd69410e05b3dbd18f1cd1c7c5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e3c86453_9c487f3a","in_reply_to":"99cdabcc_5362a3db","updated":"2026-10-05 13:16:27.000000000","message":"Marking unresolved to catch your eye","commit_id":"e7727ad2da62fbd98aa55ff5095efcd4865b3d9f"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"5eaa0e4930e74261d3dc5ed754d4406a90222ed2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ba23f721_b9e31b64","in_reply_to":"e3c86453_9c487f3a","updated":"2026-10-06 08:30:45.000000000","message":"Done","commit_id":"e7727ad2da62fbd98aa55ff5095efcd4865b3d9f"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"216c52b4d98996e0e4d7e8242303d5eb856d4476","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2565f9b3_75b78583","updated":"2026-10-05 13:37:41.000000000","message":"@stephenfin I\u0027ve added a release note file, but I don\u0027t understand the naming of other release notes file names `\u003cDESCRIPTION\u003e-\u003cID\u003e.yaml`. What is the `\u003cID\u003e` of the note? How do I generate one?","commit_id":"6d74a2df414b0fa8e600237af81287050428846f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"eb7426a8129d1549fed5ca04c6478e4a96100799","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9e861be9_0268ca4c","in_reply_to":"2565f9b3_75b78583","updated":"2026-10-05 13:44:29.000000000","message":"You want to use [reno](https://pypi.org/project/reno/). If using `uvx`, the below will do the trick:\n\n```\nuvx reno new volume-attachments-list-details\n```\n\n`reno` might also be packaged by your distro (Linux) / homebrew (macOS).","commit_id":"6d74a2df414b0fa8e600237af81287050428846f"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"82d30e9ea37af4dd4296c40ec7b0687cecc86db1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"57658f03_5d37b498","in_reply_to":"9e861be9_0268ca4c","updated":"2026-10-06 07:51:02.000000000","message":"Thanks,done","commit_id":"6d74a2df414b0fa8e600237af81287050428846f"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"5eaa0e4930e74261d3dc5ed754d4406a90222ed2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7ec840ff_7bb169f7","updated":"2026-10-06 08:30:45.000000000","message":"Release note and unit test added","commit_id":"7b7dad03e5b5ec5fd667b9998c8b75e569816d22"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"bf9a7121b9053cb5a70b5d47fb75b68817391c8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ca075c09_06e2504e","updated":"2026-10-06 08:34:47.000000000","message":"recheck - unit test and release note","commit_id":"7b7dad03e5b5ec5fd667b9998c8b75e569816d22"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"ff518ce542aebb68e5ba14e22bf5ecd92c7ebd09","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7a8d1a38_5c498bc3","updated":"2026-10-06 14:04:04.000000000","message":"@stephenfin the CI fails in `openstack-tox-pep8`, and I\u0027m puzzled because the `ruff format` failure doesn\u0027t show any meaningful errors:\n```\n...\ntrim trailing whitespace.................................................Passed\nmixed line ending........................................................Passed\nfix utf-8 byte order marker..............................................Passed\ncheck that executables have shebangs.....................................Passed\ncheck for merge conflicts................................................Passed\ndebug statements (python)................................................Passed\ncheck yaml...............................................................Passed\ndoc8.....................................................................Passed\nruff check...............................................................Passed\nruff format..............................................................Failed\n- hook id: ruff-format\n- files were modified by this hook\n\n1 file reformatted, 1281 files left unchanged\n...\n```\nHow can I fix this?","commit_id":"4d446539a084bd62e8f0369eac5282a4a724f829"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d8b62c262ee7400cdf4a8281778b7063cf57649","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"299772a3_e55c4013","updated":"2026-10-06 08:44:40.000000000","message":"Fixed my own nit with the release note.","commit_id":"4d446539a084bd62e8f0369eac5282a4a724f829"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"0fa0cd2952a946266034a82fca089540e9f2c4f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d4238283_ad2abd42","updated":"2026-10-06 11:07:58.000000000","message":"recheck -- pep8 failure without error","commit_id":"4d446539a084bd62e8f0369eac5282a4a724f829"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"2f37ccd0d35d4074a3902e645770728f6708bcbe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e24297c1_370fb63b","in_reply_to":"79c01ab8_12540d6b","updated":"2026-10-07 07:19:00.000000000","message":"Thanks a lot! \nPatchsets 10 and 11 should fix the pep8 ruff format, and reset the release notes with your corrections.","commit_id":"4d446539a084bd62e8f0369eac5282a4a724f829"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"55501e5187f5d79bc97c714d1e096dcfa85dce64","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"79c01ab8_12540d6b","in_reply_to":"7a8d1a38_5c498bc3","updated":"2026-10-06 17:05:13.000000000","message":"This is the relevant bit:\n\n```\n- files were modified by this hook\n```\n\nThat tells you `ruff format` reformatted code. You can fix this yourself locally by running `pre-commit run -a` or just calling `ruff format` directly.","commit_id":"4d446539a084bd62e8f0369eac5282a4a724f829"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"99314299b7830412a0844361907ef36096a42970","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"451379d7_63d33cff","updated":"2026-10-08 08:33:44.000000000","message":"@stephenfin Thanks for your help, the CI is now happy 😉","commit_id":"5c9ef041a3eb413d4c923168b435ebf60af2a0c3"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"45975c28c05594367e190107c21b552c7e96d4f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"60a753b3_1d0b7f81","updated":"2026-10-07 09:07:38.000000000","message":"recheck","commit_id":"5c9ef041a3eb413d4c923168b435ebf60af2a0c3"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"9d207d315be40fba441975583202ce41fc67286c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"4659a6b3_76ead31b","updated":"2026-10-07 07:20:15.000000000","message":"recheck -- pep8 ruff format error","commit_id":"5c9ef041a3eb413d4c923168b435ebf60af2a0c3"}],"openstack/block_storage/v3/_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"012adb0869fa02eaa2429d881d1262e6ca3fbe41","unresolved":true,"context_lines":[{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":"    def attachments("},{"line_number":1534,"context_line":"        self,"},{"line_number":1535,"context_line":"        details: bool \u003d True,"},{"line_number":1536,"context_line":"        **query: Any,"},{"line_number":1537,"context_line":"    ) -\u003e Generator[_attachment.Attachment, None, None]:"},{"line_number":1538,"context_line":"        \"\"\"Returns a generator of attachments."}],"source_content_type":"text/x-python","patch_set":1,"id":"5b517786_3af02b7f","line":1535,"updated":"2026-10-05 11:23:21.000000000","message":"Let\u0027s make this kwarg-only.\n\n```suggestion\n        *,\n        details: bool \u003d True,\n```","commit_id":"e7727ad2da62fbd98aa55ff5095efcd4865b3d9f"},{"author":{"_account_id":7654,"name":"Valery Tschopp","email":"valery.tschopp@switch.ch","username":"valery.tschopp","status":"Switch Cloud"},"change_message_id":"c9d480b4de38ffa6ad7dbb95b001a9be6b99d5e9","unresolved":false,"context_lines":[{"line_number":1532,"context_line":""},{"line_number":1533,"context_line":"    def attachments("},{"line_number":1534,"context_line":"        self,"},{"line_number":1535,"context_line":"        details: bool \u003d True,"},{"line_number":1536,"context_line":"        **query: Any,"},{"line_number":1537,"context_line":"    ) -\u003e Generator[_attachment.Attachment, None, None]:"},{"line_number":1538,"context_line":"        \"\"\"Returns a generator of attachments."}],"source_content_type":"text/x-python","patch_set":1,"id":"bbdfd964_db2bdfae","line":1535,"in_reply_to":"5b517786_3af02b7f","updated":"2026-10-05 13:00:35.000000000","message":"Fix applied.","commit_id":"e7727ad2da62fbd98aa55ff5095efcd4865b3d9f"}]}
