)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b03cd7a21a0a9b544483330f9701a29ef7fe9b59","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Use openstacksdk for sending os-server-external-events to"},{"line_number":10,"context_line":"Nova."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/983904"},{"line_number":13,"context_line":"Change-Id: I6a4145a6bd95e1e8018e4373fef3f8998a644479"},{"line_number":14,"context_line":"Signed-off-by: lajoskatona \u003clajos.katona@est.tech\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fd0d55ca_7865230c","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":45},"updated":"2026-05-05 10:21:05.000000000","message":"we need a release also for SDK when this one is merged","commit_id":"ef7e2e80cf1ea8239f41cf96cf965ececc1a0897"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e82512e5c4ede136f529aa174c0a5a5a3cad96bf","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Use openstacksdk for sending os-server-external-events to"},{"line_number":10,"context_line":"Nova."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/983904"},{"line_number":13,"context_line":"Change-Id: I6a4145a6bd95e1e8018e4373fef3f8998a644479"},{"line_number":14,"context_line":"Signed-off-by: lajoskatona \u003clajos.katona@est.tech\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"6da7da72_30c177d0","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":45},"in_reply_to":"fd0d55ca_7865230c","updated":"2026-05-28 16:44:15.000000000","message":"the SDK patch seems to be progressing","commit_id":"ef7e2e80cf1ea8239f41cf96cf965ececc1a0897"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e1f2a9940598c9fb0331c974a138e7d5a321aaed","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/983904"},{"line_number":13,"context_line":"Change-Id: I6a4145a6bd95e1e8018e4373fef3f8998a644479"},{"line_number":14,"context_line":"Signed-off-by: lajoskatona \u003clajos.katona@est.tech\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7ee56740_5a62615e","line":14,"updated":"2026-06-19 11:51:17.000000000","message":"Mea Culpa... We need this from SDK: https://review.opendev.org/c/openstack/openstacksdk/+/994102 .\nI don\u0027t know how should I have messed it up....","commit_id":"f295534aa2b403aa363d271e30a7e754d68c48e2"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"61a615ffc796b0effc5c1d28c91b1edc6ee2badd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f14b2585_ea3697d0","updated":"2026-06-10 12:33:39.000000000","message":"The dependent patch is merged and released as SDK 4.15.0","commit_id":"16c40bad3a2d7e2f7fa243ea1d1d7ce3fa83c77f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7feab69315595843138176ed4e00913b00bcf4ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"54270db7_b8055570","updated":"2026-06-12 08:34:57.000000000","message":"recheck\nreq bump was also merged (I always forgot to check that also): https://review.opendev.org/c/openstack/requirements/+/992451","commit_id":"16c40bad3a2d7e2f7fa243ea1d1d7ce3fa83c77f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"c8153bcb_e56cf7a4","updated":"2026-06-19 13:17:32.000000000","message":"for the dead code","commit_id":"f295534aa2b403aa363d271e30a7e754d68c48e2"}],"neutron/notifiers/nova.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"465088a177b8e092824aac2d385d105b6ced44b0","unresolved":true,"context_lines":[{"line_number":283,"context_line":"            rsp \u003d self.nova_client.post("},{"line_number":284,"context_line":"                \u0027/os-server-external-events\u0027,"},{"line_number":285,"context_line":"                json\u003d{\u0027events\u0027: batched_events})"},{"line_number":286,"context_line":"            response \u003d rsp.json()[\u0027events\u0027]"},{"line_number":287,"context_line":"        except ks_exceptions.EndpointNotFound:"},{"line_number":288,"context_line":"            LOG.exception(\"Nova endpoint not found, invalidating the session\")"},{"line_number":289,"context_line":"            if NOVA_SESSION:"}],"source_content_type":"text/x-python","patch_set":2,"id":"671304c1_6fa053d2","line":286,"updated":"2026-04-21 10:46:13.000000000","message":"I think this should move down to the else block...","commit_id":"bd60aabba1122edb41c5a094bb01bcb447d6e334"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            rsp \u003d self.nova_client.post("},{"line_number":284,"context_line":"                \u0027/os-server-external-events\u0027,"},{"line_number":285,"context_line":"                json\u003d{\u0027events\u0027: batched_events})"},{"line_number":286,"context_line":"            response \u003d rsp.json()[\u0027events\u0027]"},{"line_number":287,"context_line":"        except ks_exceptions.EndpointNotFound:"},{"line_number":288,"context_line":"            LOG.exception(\"Nova endpoint not found, invalidating the session\")"},{"line_number":289,"context_line":"            if NOVA_SESSION:"}],"source_content_type":"text/x-python","patch_set":2,"id":"a9b3b110_76d9b6f4","line":286,"in_reply_to":"671304c1_6fa053d2","updated":"2026-06-19 13:17:32.000000000","message":"Done","commit_id":"bd60aabba1122edb41c5a094bb01bcb447d6e334"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"465088a177b8e092824aac2d385d105b6ced44b0","unresolved":true,"context_lines":[{"line_number":299,"context_line":"            LOG.exception(\"Failed to notify nova on events: %s\","},{"line_number":300,"context_line":"                          batched_events)"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            if not isinstance(response, list):"},{"line_number":303,"context_line":"                LOG.error(\"Error response returned from nova: %s\","},{"line_number":304,"context_line":"                          response)"},{"line_number":305,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"6e782fc4_03e6c666","line":302,"updated":"2026-04-21 10:46:13.000000000","message":"...and this should change to:\n\n```suggestion\n            if \u0027events\u0027 not in rsp or not isinstance(rsp[\u0027events\u0027], list):\n```","commit_id":"bd60aabba1122edb41c5a094bb01bcb447d6e334"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":false,"context_lines":[{"line_number":299,"context_line":"            LOG.exception(\"Failed to notify nova on events: %s\","},{"line_number":300,"context_line":"                          batched_events)"},{"line_number":301,"context_line":"        else:"},{"line_number":302,"context_line":"            if not isinstance(response, list):"},{"line_number":303,"context_line":"                LOG.error(\"Error response returned from nova: %s\","},{"line_number":304,"context_line":"                          response)"},{"line_number":305,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"e34b30d9_0e245928","line":302,"in_reply_to":"6e782fc4_03e6c666","updated":"2026-06-19 13:17:32.000000000","message":"Done","commit_id":"bd60aabba1122edb41c5a094bb01bcb447d6e334"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e1f2a9940598c9fb0331c974a138e7d5a321aaed","unresolved":true,"context_lines":[{"line_number":280,"context_line":"    def send_events(self, batched_events):"},{"line_number":281,"context_line":"        LOG.debug(\"Sending events: %s\", batched_events)"},{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            rsp \u003d self.nova_client.create_server_external_events("},{"line_number":284,"context_line":"                batched_events)"},{"line_number":285,"context_line":"            response \u003d [r.to_dict() for r in rsp]"},{"line_number":286,"context_line":"        except ks_exceptions.EndpointNotFound:"}],"source_content_type":"text/x-python","patch_set":10,"id":"6be6ae5f_9ef4c55e","line":283,"range":{"start_line":283,"start_character":35,"end_line":283,"end_character":64},"updated":"2026-06-19 11:51:17.000000000","message":"uhhhh.... I have to make the ServerExternalEvent.resource_key \u003d None \nMy bad...","commit_id":"fbe11f9eca1e756a7264e6c13f11f9d00f980731"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":true,"context_lines":[{"line_number":280,"context_line":"    def send_events(self, batched_events):"},{"line_number":281,"context_line":"        LOG.debug(\"Sending events: %s\", batched_events)"},{"line_number":282,"context_line":"        try:"},{"line_number":283,"context_line":"            rsp \u003d self.nova_client.create_server_external_events("},{"line_number":284,"context_line":"                batched_events)"},{"line_number":285,"context_line":"        except ks_exceptions.EndpointNotFound:"},{"line_number":286,"context_line":"            LOG.exception(\"Nova endpoint not found, invalidating the session\")"}],"source_content_type":"text/x-python","patch_set":11,"id":"6c82dca6_52a48261","line":283,"updated":"2026-06-19 13:17:32.000000000","message":"You should wrap this in `list` here...","commit_id":"f295534aa2b403aa363d271e30a7e754d68c48e2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":true,"context_lines":[{"line_number":296,"context_line":"        except Exception:"},{"line_number":297,"context_line":"            LOG.exception(\"Failed to notify nova on events: %s\","},{"line_number":298,"context_line":"                          batched_events)"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            try:"},{"line_number":301,"context_line":"                response \u003d [r.to_dict() for r in rsp]"},{"line_number":302,"context_line":"            except (TypeError, AttributeError):"},{"line_number":303,"context_line":"                LOG.error(\"Error response returned from nova: %s\","},{"line_number":304,"context_line":"                          rsp)"},{"line_number":305,"context_line":"                return"},{"line_number":306,"context_line":"            response_error \u003d False"},{"line_number":307,"context_line":"            for event in response:"},{"line_number":308,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"618e26e8_dd24a8cc","line":305,"range":{"start_line":299,"start_character":13,"end_line":305,"end_character":22},"updated":"2026-06-19 13:17:32.000000000","message":"And you can drop this block then","commit_id":"f295534aa2b403aa363d271e30a7e754d68c48e2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ea61c3aa9e28b904a8bced1563dcc90a7cdaf022","unresolved":true,"context_lines":[{"line_number":309,"context_line":"                    code \u003d event[\u0027code\u0027]"},{"line_number":310,"context_line":"                except KeyError:"},{"line_number":311,"context_line":"                    response_error \u003d True"},{"line_number":312,"context_line":"                    continue"},{"line_number":313,"context_line":"                if hasattr(response, \u0027request_ids\u0027):"},{"line_number":314,"context_line":"                    msg \u003d f\"Nova event matching {response.request_ids}\""},{"line_number":315,"context_line":"                else:"},{"line_number":316,"context_line":"                    msg \u003d \"Nova event\""},{"line_number":317,"context_line":"                if code !\u003d 200:"},{"line_number":318,"context_line":"                    LOG.warning(\"%s: %s returned with failed \""},{"line_number":319,"context_line":"                                \"status\", msg, event)"}],"source_content_type":"text/x-python","patch_set":11,"id":"53c76f6b_2279c3f1","line":316,"range":{"start_line":312,"start_character":28,"end_line":316,"end_character":38},"updated":"2026-06-19 13:17:32.000000000","message":"I think this is dead code? Nothing will ever set `request_ids`","commit_id":"f295534aa2b403aa363d271e30a7e754d68c48e2"}],"neutron/tests/unit/notifiers/test_nova.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"8136ff2c00a5b2ec297afd3229f0f7a268c9c600","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from neutron_lib import exceptions as n_exc"},{"line_number":25,"context_line":"from neutron_lib.plugins import constants as plugin_constants"},{"line_number":26,"context_line":"from neutron_lib.plugins import directory"},{"line_number":27,"context_line":"from openstack.compute.v2 import server_external_events"},{"line_number":28,"context_line":"from openstack import exceptions as sdk_exc"},{"line_number":29,"context_line":"from oslo_config import cfg"},{"line_number":30,"context_line":"from oslo_utils import uuidutils"}],"source_content_type":"text/x-python","patch_set":6,"id":"b5b25b0a_d0da302b","line":27,"updated":"2026-06-10 15:54:00.000000000","message":"pep8: E0611: No name \u0027server_external_events\u0027 in module \u0027openstack.compute.v2\u0027 (no-name-in-module)","commit_id":"16c40bad3a2d7e2f7fa243ea1d1d7ce3fa83c77f"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"233fce6309ab78e1b9ae7929cad7803f157e8458","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from neutron_lib import exceptions as n_exc"},{"line_number":25,"context_line":"from neutron_lib.plugins import constants as plugin_constants"},{"line_number":26,"context_line":"from neutron_lib.plugins import directory"},{"line_number":27,"context_line":"from openstack.compute.v2 import server_external_events"},{"line_number":28,"context_line":"from openstack import exceptions as sdk_exc"},{"line_number":29,"context_line":"from oslo_config import cfg"},{"line_number":30,"context_line":"from oslo_utils import uuidutils"}],"source_content_type":"text/x-python","patch_set":7,"id":"283e2a72_be1daa9e","line":27,"updated":"2026-06-12 11:18:09.000000000","message":"pep8: E0611: No name \u0027server_external_events\u0027 in module \u0027openstack.compute.v2\u0027 (no-name-in-module)","commit_id":"ea3852a2ed26012ff7d73cbeda5f3d4b5369799a"}]}
