)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2dc38e453713b6b678bc5893153ff899f5f19387","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d665263a_6fdd9742","updated":"2025-06-13 18:23:04.000000000","message":"I\u0027m just going to fix the pep8 failure since it\u0027s obvious, the functional failure looks unrelated.","commit_id":"a1a4792b988ee44a28f85ae44ed3cee7d05af740"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"7ec08dbeaec4088c26d576f62a83f14e8e108b30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"04c2736f_7d38e74d","updated":"2025-06-17 21:05:11.000000000","message":"2025.1 branch also needs the pep8 change from master, will cherry-pick","commit_id":"e28c86110795e04348f18b7b50b000d10cf20d00"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"eb7be4ded6a3f53c70487e6b0d951e6f47b370d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0ab4047a_f1e908e2","updated":"2025-06-17 21:19:45.000000000","message":"cherry-pick at https://review.opendev.org/c/openstack/neutron/+/952791","commit_id":"e28c86110795e04348f18b7b50b000d10cf20d00"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"207f7efc75413412a03da59014511b52870d0b3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"33d9665a_029edd53","updated":"2025-06-18 19:20:15.000000000","message":"recheck pep8 fix","commit_id":"28e042097823feb88117031afee067583e91ba86"}],"neutron/common/loopingcall.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"388755d7bcbac172fff72d9ca40bcd0873047b3d","unresolved":true,"context_lines":[{"line_number":25,"context_line":"from oslo_utils import reflection"},{"line_number":26,"context_line":"from oslo_utils import timeutils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from oslo_service._i18n import _"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1e2ed0aa_afd49aad","line":28,"range":{"start_line":28,"start_character":5,"end_line":28,"end_character":17},"updated":"2025-06-13 13:51:30.000000000","message":"s/neutron (or you\u0027ll get a pep8 failure)","commit_id":"1037bd6b403320bbc786b6ecfcdc770ec3890ec8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"056bae7fdfb33b0efb1547deb3083a3121763138","unresolved":false,"context_lines":[{"line_number":25,"context_line":"from oslo_utils import reflection"},{"line_number":26,"context_line":"from oslo_utils import timeutils"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from oslo_service._i18n import _"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"4d6639fc_8b4b3f1e","line":28,"range":{"start_line":28,"start_character":5,"end_line":28,"end_character":17},"in_reply_to":"1e2ed0aa_afd49aad","updated":"2025-06-13 15:28:30.000000000","message":"Done","commit_id":"1037bd6b403320bbc786b6ecfcdc770ec3890ec8"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2dc38e453713b6b678bc5893153ff899f5f19387","unresolved":true,"context_lines":[{"line_number":94,"context_line":"    RUN_ONLY_ONE_MESSAGE \u003d _("},{"line_number":95,"context_line":"        \"A looping call can only run one function at a time\")"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def __init__(self, f\u003dNone, *args, **kwargs):"},{"line_number":98,"context_line":"        self.args \u003d args"},{"line_number":99,"context_line":"        self.kwargs \u003d kwargs"},{"line_number":100,"context_line":"        self.f \u003d f"}],"source_content_type":"text/x-python","patch_set":3,"id":"c7f543f8_cfc91d3b","line":97,"updated":"2025-06-13 18:23:04.000000000","message":"I guess oslo.service does not have as strict linting as we do.\n\nThis should be this way according to pylint:\n\ndef __init__(self, *args, f\u003dNone, **kwargs):","commit_id":"a1a4792b988ee44a28f85ae44ed3cee7d05af740"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"92ff6fe669980b16a1f725219c46efdad5abbdd4","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    RUN_ONLY_ONE_MESSAGE \u003d _("},{"line_number":95,"context_line":"        \"A looping call can only run one function at a time\")"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def __init__(self, f\u003dNone, *args, **kwargs):"},{"line_number":98,"context_line":"        self.args \u003d args"},{"line_number":99,"context_line":"        self.kwargs \u003d kwargs"},{"line_number":100,"context_line":"        self.f \u003d f"}],"source_content_type":"text/x-python","patch_set":3,"id":"2e400ce4_c0e22be0","line":97,"in_reply_to":"c7f543f8_cfc91d3b","updated":"2025-06-13 18:25:28.000000000","message":"Also opened this change:\n\nhttps://review.opendev.org/c/openstack/oslo.service/+/952607","commit_id":"a1a4792b988ee44a28f85ae44ed3cee7d05af740"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fc1a1a34ac0217342ce624582340de6541553e2f","unresolved":true,"context_lines":[{"line_number":94,"context_line":"    RUN_ONLY_ONE_MESSAGE \u003d _("},{"line_number":95,"context_line":"        \"A looping call can only run one function at a time\")"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    def __init__(self, *args, f\u003dNone, **kwargs):"},{"line_number":98,"context_line":"        self.args \u003d args"},{"line_number":99,"context_line":"        self.kwargs \u003d kwargs"},{"line_number":100,"context_line":"        self.f \u003d f"}],"source_content_type":"text/x-python","patch_set":5,"id":"0b2856d2_22a5ddfd","line":97,"updated":"2025-06-22 20:23:49.000000000","message":"So my pep8 fix changing the argument order here broke this, will push an update.","commit_id":"28e042097823feb88117031afee067583e91ba86"}],"neutron/tests/unit/agent/metadata/test_agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"56a093760a551c5b011c526be2c42917c4c1c2cd","unresolved":true,"context_lines":[{"line_number":394,"context_line":"        self.cfg_p \u003d mock.patch.object(agent, \u0027cfg\u0027)"},{"line_number":395,"context_line":"        self.cfg \u003d self.cfg_p.start()"},{"line_number":396,"context_line":"        looping_call_p \u003d mock.patch("},{"line_number":397,"context_line":"            \u0027oslo_service.loopingcall.FixedIntervalLoopingCall\u0027)"},{"line_number":398,"context_line":"        self.looping_mock \u003d looping_call_p.start()"},{"line_number":399,"context_line":"        self.cfg.CONF.metadata_proxy_socket \u003d \u0027/the/path\u0027"},{"line_number":400,"context_line":"        self.cfg.CONF.metadata_workers \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"7ccf20df_e48a5762","line":397,"updated":"2025-06-13 15:11:01.000000000","message":"This need to reference the neutron version as well.","commit_id":"1037bd6b403320bbc786b6ecfcdc770ec3890ec8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"056bae7fdfb33b0efb1547deb3083a3121763138","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        self.cfg_p \u003d mock.patch.object(agent, \u0027cfg\u0027)"},{"line_number":395,"context_line":"        self.cfg \u003d self.cfg_p.start()"},{"line_number":396,"context_line":"        looping_call_p \u003d mock.patch("},{"line_number":397,"context_line":"            \u0027oslo_service.loopingcall.FixedIntervalLoopingCall\u0027)"},{"line_number":398,"context_line":"        self.looping_mock \u003d looping_call_p.start()"},{"line_number":399,"context_line":"        self.cfg.CONF.metadata_proxy_socket \u003d \u0027/the/path\u0027"},{"line_number":400,"context_line":"        self.cfg.CONF.metadata_workers \u003d 0"}],"source_content_type":"text/x-python","patch_set":2,"id":"00fb307f_5d7468b3","line":397,"in_reply_to":"7ccf20df_e48a5762","updated":"2025-06-13 15:28:30.000000000","message":"Done","commit_id":"1037bd6b403320bbc786b6ecfcdc770ec3890ec8"}]}
