)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0b68e0b6ed1e8f0ae83121d4a1a4f27d4b0b2643","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3520ebde_2c78904e","updated":"2026-09-15 23:53:10.000000000","message":"Apparently we might have one other issue, and I need to dig at this a little bit more. I will tomrorow.","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"}],"ironic/common/neutron.py":[{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"64b066c9d1dbaf3076ea5095099eaed839d04264","unresolved":true,"context_lines":[{"line_number":131,"context_line":"    client_to_close \u003d None"},{"line_number":132,"context_line":"    if not client:"},{"line_number":133,"context_line":"        # verify that user can see the port before updating it"},{"line_number":134,"context_line":"        verify_client \u003d get_client(context\u003dcontext)"},{"line_number":135,"context_line":"        try:"},{"line_number":136,"context_line":"            verify_client.get_port(port_id)"},{"line_number":137,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"53ac1bfa_fd7a5255","line":134,"updated":"2026-09-15 21:29:30.000000000","message":"```suggestion\n        with get_client(context\u003dcontext) as verify_client:\n            verify_client.get_port(port_id)\n```","commit_id":"eed0483ec5362d78875a8b668033581944c52fce"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"0b68e0b6ed1e8f0ae83121d4a1a4f27d4b0b2643","unresolved":false,"context_lines":[{"line_number":131,"context_line":"    client_to_close \u003d None"},{"line_number":132,"context_line":"    if not client:"},{"line_number":133,"context_line":"        # verify that user can see the port before updating it"},{"line_number":134,"context_line":"        verify_client \u003d get_client(context\u003dcontext)"},{"line_number":135,"context_line":"        try:"},{"line_number":136,"context_line":"            verify_client.get_port(port_id)"},{"line_number":137,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"f1c1f99d_50befea7","line":134,"in_reply_to":"53ac1bfa_fd7a5255","updated":"2026-09-15 23:53:10.000000000","message":"Fix applied.","commit_id":"eed0483ec5362d78875a8b668033581944c52fce"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e231c11efac791f74ebbbeec8456829285ceea63","unresolved":true,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"def update_neutron_port(context, port_id, attrs, client\u003dNone):"},{"line_number":120,"context_line":"    \"\"\"Undate a neutron port"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    Uses neutron client from conf client to update a neutron client"},{"line_number":123,"context_line":"    an unbound state."}],"source_content_type":"text/x-python","patch_set":3,"id":"34f0cc1e_f66f705a","line":120,"updated":"2026-09-15 22:16:01.000000000","message":"if you wanna s/Undate/Update/ while you\u0027re here, if you have to do another patchset","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e231c11efac791f74ebbbeec8456829285ceea63","unresolved":true,"context_lines":[{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    if not ports:"},{"line_number":553,"context_line":"        LOG.debug(\u0027No ports to remove for node %s\u0027, node_uuid)"},{"line_number":554,"context_line":"        client.close()"},{"line_number":555,"context_line":"        return"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    for port in ports:"}],"source_content_type":"text/x-python","patch_set":3,"id":"f1ad9e55_cc199ace","line":554,"updated":"2026-09-15 22:16:01.000000000","message":"RFE python: a defer keyword :( https://gobyexample.com/defer","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"71f8b049c22d6278690b6870ddd383ad96aeaf08","unresolved":true,"context_lines":[{"line_number":551,"context_line":""},{"line_number":552,"context_line":"    if not ports:"},{"line_number":553,"context_line":"        LOG.debug(\u0027No ports to remove for node %s\u0027, node_uuid)"},{"line_number":554,"context_line":"        client.close()"},{"line_number":555,"context_line":"        return"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    for port in ports:"}],"source_content_type":"text/x-python","patch_set":3,"id":"da9f2d0f_ef03836e","line":554,"in_reply_to":"f1ad9e55_cc199ace","updated":"2026-09-17 01:56:36.000000000","message":"that would be awesome","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"}],"ironic/tests/unit/common/test_neutron.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"78e641dcfc7b40e16ba84d414969dfc9004f55ac","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        mock_client_init.assert_called_once()"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_client_wrapper_close(self, mock_client_init,"},{"line_number":127,"context_line":"                                   mock_session, mock_adapter,"},{"line_number":128,"context_line":"                                   mock_auth, mock_sauth):"},{"line_number":129,"context_line":"        client \u003d neutron.get_client(context\u003dself.context)"},{"line_number":130,"context_line":"        client.close()"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e6b455e_1c12b1a2","line":127,"updated":"2026-09-15 23:41:51.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"78e641dcfc7b40e16ba84d414969dfc9004f55ac","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def test_client_wrapper_close(self, mock_client_init,"},{"line_number":127,"context_line":"                                   mock_session, mock_adapter,"},{"line_number":128,"context_line":"                                   mock_auth, mock_sauth):"},{"line_number":129,"context_line":"        client \u003d neutron.get_client(context\u003dself.context)"},{"line_number":130,"context_line":"        client.close()"},{"line_number":131,"context_line":"        mock_client_init.return_value.close.assert_called_once()"}],"source_content_type":"text/x-python","patch_set":3,"id":"a63f756c_bc9bae48","line":128,"updated":"2026-09-15 23:41:51.000000000","message":"pep8: E127 continuation line over-indented for visual indent","commit_id":"c13380a69dd96c44e523d795880e4cb7f9c78b2d"}]}
