)]}'
{"/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":"3f2defccdcf2bf99a822f4cd9d1af0383347fce1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"29c68b5a_74ff4a1d","updated":"2025-06-26 07:05:36.000000000","message":"recheck\nseems like bug https://bugs.launchpad.net/devstack/+bug/2115338 was solved in the depths of infra","commit_id":"e1da5bef5546d154cbd25291d6416baeb1d8ebf3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6ff9f244_30a50701","updated":"2025-07-07 20:00:24.000000000","message":"just some nits","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"4abeeae4fe259936a6fff1ba71afeab4477026b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"be047f3c_57957eb1","updated":"2025-07-04 07:43:45.000000000","message":"recheck\ngrenade failure is not related","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b7aa546480e5524a17b66e70d1418c6b4c00911b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c4ea4be4_98f70267","updated":"2025-07-02 14:35:34.000000000","message":"recheck\nubuntu mirror issue","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"44f79a4059fbe34a31fd8f2da1e2a92758167fca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ac8710aa_445f88b4","updated":"2025-07-29 14:21:58.000000000","message":"recheck\ngit call failed: [git clone https://github.com/openvswitch/ovs.git /opt/stack/old/ovs]","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f0b1d7db1076e765768af3021219fb92c626d377","unresolved":true,"context_lines":[{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    @profiler.trace(\"rpc\")"},{"line_number":919,"context_line":"    def tunnel_delete(self, context, **kwargs):"},{"line_number":920,"context_line":"        LOG.debug(\"tunnel_delete received: \", kwargs)"},{"line_number":921,"context_line":"        if not self.enable_tunneling:"},{"line_number":922,"context_line":"            return"},{"line_number":923,"context_line":"        tunnel_ip \u003d kwargs.get(\u0027tunnel_ip\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"55c40338_8c2c8d20","line":920,"range":{"start_line":920,"start_character":43,"end_line":920,"end_character":44},"updated":"2025-07-28 11:50:47.000000000","message":"It is missing the string formatting.","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1497139b40e985e1b08f2b6c84fc3805c208579f","unresolved":false,"context_lines":[{"line_number":917,"context_line":""},{"line_number":918,"context_line":"    @profiler.trace(\"rpc\")"},{"line_number":919,"context_line":"    def tunnel_delete(self, context, **kwargs):"},{"line_number":920,"context_line":"        LOG.debug(\"tunnel_delete received: \", kwargs)"},{"line_number":921,"context_line":"        if not self.enable_tunneling:"},{"line_number":922,"context_line":"            return"},{"line_number":923,"context_line":"        tunnel_ip \u003d kwargs.get(\u0027tunnel_ip\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"739a5a9b_71a35807","line":920,"range":{"start_line":920,"start_character":43,"end_line":920,"end_character":44},"in_reply_to":"55c40338_8c2c8d20","updated":"2025-07-29 11:30:22.000000000","message":"uppps, thanks","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":499,"context_line":"        agent \u003d payload.states[0]"},{"line_number":500,"context_line":"        if agent.binary !\u003d const.AGENT_PROCESS_OVS:"},{"line_number":501,"context_line":"            return"},{"line_number":502,"context_line":"        id \u003d payload.resource_id"},{"line_number":503,"context_line":"        tunnel_ip \u003d agent.configurations.get(\u0027tunneling_ip\u0027)"},{"line_number":504,"context_line":"        tunnel_types \u003d agent.configurations.get(\u0027tunnel_types\u0027)"},{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"}],"source_content_type":"text/x-python","patch_set":5,"id":"d09bb390_92ee9715","line":502,"range":{"start_line":502,"start_character":8,"end_line":502,"end_character":10},"updated":"2025-07-07 20:00:24.000000000","message":"nit: s/tunnel_id to make it obvious since it wasn\u0027t clear to me based on below","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":499,"context_line":"        agent \u003d payload.states[0]"},{"line_number":500,"context_line":"        if agent.binary !\u003d const.AGENT_PROCESS_OVS:"},{"line_number":501,"context_line":"            return"},{"line_number":502,"context_line":"        id \u003d payload.resource_id"},{"line_number":503,"context_line":"        tunnel_ip \u003d agent.configurations.get(\u0027tunneling_ip\u0027)"},{"line_number":504,"context_line":"        tunnel_types \u003d agent.configurations.get(\u0027tunnel_types\u0027)"},{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"}],"source_content_type":"text/x-python","patch_set":5,"id":"06bf186a_70f37231","line":502,"range":{"start_line":502,"start_character":8,"end_line":502,"end_character":10},"in_reply_to":"d09bb390_92ee9715","updated":"2025-07-21 14:01:23.000000000","message":"good idea, done","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":504,"context_line":"        tunnel_types \u003d agent.configurations.get(\u0027tunnel_types\u0027)"},{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Agent %s delete tunnel endpoints associated with it \u0027"},{"line_number":508,"context_line":"                  \u0027(endpoint_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"}],"source_content_type":"text/x-python","patch_set":5,"id":"880bd000_8c00d7ef","line":507,"range":{"start_line":507,"start_character":19,"end_line":507,"end_character":27},"updated":"2025-07-07 20:00:24.000000000","message":"This is why I was confused above - \"Agent %s\" if argument was the tunnel id? Maybe \"Deleting tunnel id %s and endpoints associated with it \" ...?","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        tunnel_types \u003d agent.configurations.get(\u0027tunnel_types\u0027)"},{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Agent %s delete tunnel endpoints associated with it \u0027"},{"line_number":508,"context_line":"                  \u0027(endpoint_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3676950a_3330ad9a","line":507,"range":{"start_line":507,"start_character":19,"end_line":507,"end_character":27},"in_reply_to":"880bd000_8c00d7ef","updated":"2025-07-21 14:01:23.000000000","message":"Done","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Agent %s delete tunnel endpoints associated with it \u0027"},{"line_number":508,"context_line":"                  \u0027(endpoint_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"e8a6a2e1_5aa1957b","line":508,"range":{"start_line":508,"start_character":20,"end_line":508,"end_character":31},"updated":"2025-07-07 20:00:24.000000000","message":"s/tunnel_ip ? just to use same name as argument, but if other code uses endpoint just leave alone.","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Agent %s delete tunnel endpoints associated with it \u0027"},{"line_number":508,"context_line":"                  \u0027(endpoint_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"55dc558e_d3f07d5d","line":508,"range":{"start_line":508,"start_character":20,"end_line":508,"end_character":31},"in_reply_to":"e8a6a2e1_5aa1957b","updated":"2025-07-21 14:01:23.000000000","message":"Done","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"},{"line_number":512,"context_line":"                     t_type, id, tunnel_ip)"},{"line_number":513,"context_line":"            self.notifier.tunnel_delete("},{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"}],"source_content_type":"text/x-python","patch_set":5,"id":"8b977766_3aa9fe07","line":512,"updated":"2025-07-07 20:00:24.000000000","message":"Looks off by one space?","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":509,"context_line":"                  id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"},{"line_number":512,"context_line":"                     t_type, id, tunnel_ip)"},{"line_number":513,"context_line":"            self.notifier.tunnel_delete("},{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"}],"source_content_type":"text/x-python","patch_set":5,"id":"f60d6d6e_e2229043","line":512,"in_reply_to":"8b977766_3aa9fe07","updated":"2025-07-21 14:01:23.000000000","message":"seems we added so much smart things to static code check that the basics are missing 😊","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f0b1d7db1076e765768af3021219fb92c626d377","unresolved":true,"context_lines":[{"line_number":508,"context_line":"                  \u0027it (tunnel_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  tunnel_id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"},{"line_number":512,"context_line":"                      t_type, tunnel_id, tunnel_ip)"},{"line_number":513,"context_line":"            self.notifier.tunnel_delete("},{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"}],"source_content_type":"text/x-python","patch_set":6,"id":"85de965c_7c5c72d4","line":512,"range":{"start_line":511,"start_character":12,"end_line":512,"end_character":51},"updated":"2025-07-28 11:50:47.000000000","message":"nit: We already have a debug line with this info in L507","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9781677ce35641e74ec1a7a6c4edc32f6c6b4e04","unresolved":false,"context_lines":[{"line_number":508,"context_line":"                  \u0027it (tunnel_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  tunnel_id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"},{"line_number":512,"context_line":"                      t_type, tunnel_id, tunnel_ip)"},{"line_number":513,"context_line":"            self.notifier.tunnel_delete("},{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"}],"source_content_type":"text/x-python","patch_set":6,"id":"0eac6025_771c7118","line":512,"range":{"start_line":511,"start_character":12,"end_line":512,"end_character":51},"in_reply_to":"2d493987_9262b848","updated":"2025-08-21 20:59:49.000000000","message":"Done","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1497139b40e985e1b08f2b6c84fc3805c208579f","unresolved":true,"context_lines":[{"line_number":508,"context_line":"                  \u0027it (tunnel_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  tunnel_id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            LOG.debug(\u0027delete tunnel %s for %s (%s)\u0027,"},{"line_number":512,"context_line":"                      t_type, tunnel_id, tunnel_ip)"},{"line_number":513,"context_line":"            self.notifier.tunnel_delete("},{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"}],"source_content_type":"text/x-python","patch_set":6,"id":"2d493987_9262b848","line":512,"range":{"start_line":511,"start_character":12,"end_line":512,"end_character":51},"in_reply_to":"85de965c_7c5c72d4","updated":"2025-07-29 11:30:22.000000000","message":"indeed, I removed this one in the loop","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f0b1d7db1076e765768af3021219fb92c626d377","unresolved":true,"context_lines":[{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"},{"line_number":516,"context_line":"                tunnel_type\u003dt_type)"},{"line_number":517,"context_line":"            driver \u003d self.type_manager.drivers.get(t_type)"},{"line_number":518,"context_line":"            driver.obj.delete_endpoint(tunnel_ip)"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"    @registry.receives(resources.AGENT, [events.AFTER_UPDATE])"}],"source_content_type":"text/x-python","patch_set":6,"id":"e86f9a6a_fe362e1b","line":517,"range":{"start_line":517,"start_character":47,"end_line":517,"end_character":58},"updated":"2025-07-28 11:50:47.000000000","message":"It is very unlikely, but you should consider the possibility of not having this tunnel type registered in the `TypeManager` class.","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"1497139b40e985e1b08f2b6c84fc3805c208579f","unresolved":false,"context_lines":[{"line_number":514,"context_line":"                context\u003dcontext,"},{"line_number":515,"context_line":"                tunnel_ip\u003dtunnel_ip,"},{"line_number":516,"context_line":"                tunnel_type\u003dt_type)"},{"line_number":517,"context_line":"            driver \u003d self.type_manager.drivers.get(t_type)"},{"line_number":518,"context_line":"            driver.obj.delete_endpoint(tunnel_ip)"},{"line_number":519,"context_line":""},{"line_number":520,"context_line":"    @registry.receives(resources.AGENT, [events.AFTER_UPDATE])"}],"source_content_type":"text/x-python","patch_set":6,"id":"19d2bf67_779c2e4f","line":517,"range":{"start_line":517,"start_character":47,"end_line":517,"end_character":58},"in_reply_to":"e86f9a6a_fe362e1b","updated":"2025-07-29 11:30:22.000000000","message":"Done\nI added a warning for that case to be on the safe side","commit_id":"618c06b02f2a62819ae76871b9ad920c145f62ed"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01d22e6bd6a02ab549b38565a84a864495c1ddb9","unresolved":true,"context_lines":[{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Deleting tunnel id %s, and endpoints associated with \u0027"},{"line_number":508,"context_line":"                  \u0027it (tunnel_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  tunnel_id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            self.notifier.tunnel_delete("}],"source_content_type":"text/x-python","patch_set":7,"id":"1455abb0_c653e438","line":508,"range":{"start_line":508,"start_character":54,"end_line":508,"end_character":55},"updated":"2025-07-29 18:51:38.000000000","message":"nit: extra space before close parens","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a7c94c51b3d465d4d06146ba7ec671d8a533e458","unresolved":false,"context_lines":[{"line_number":505,"context_line":"        if not tunnel_ip or not tunnel_types:"},{"line_number":506,"context_line":"            return"},{"line_number":507,"context_line":"        LOG.debug(\u0027Deleting tunnel id %s, and endpoints associated with \u0027"},{"line_number":508,"context_line":"                  \u0027it (tunnel_ip: %s  tunnel_types: %s )\u0027,"},{"line_number":509,"context_line":"                  tunnel_id, tunnel_ip, tunnel_types)"},{"line_number":510,"context_line":"        for t_type in tunnel_types:"},{"line_number":511,"context_line":"            self.notifier.tunnel_delete("}],"source_content_type":"text/x-python","patch_set":7,"id":"7ca2b84c_c200f13b","line":508,"range":{"start_line":508,"start_character":54,"end_line":508,"end_character":55},"in_reply_to":"1455abb0_c653e438","updated":"2025-08-21 13:21:42.000000000","message":"Done","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01d22e6bd6a02ab549b38565a84a864495c1ddb9","unresolved":true,"context_lines":[{"line_number":515,"context_line":"            try:"},{"line_number":516,"context_line":"                driver \u003d self.type_manager.drivers.get(t_type)"},{"line_number":517,"context_line":"            except KeyError:"},{"line_number":518,"context_line":"                LOG.warning(\u0027Tunnel type %s is not registered, can not \u0027 \\"},{"line_number":519,"context_line":"                            \u0027delete tunnel endpoint for it.\u0027, t_type)"},{"line_number":520,"context_line":"            else:"},{"line_number":521,"context_line":"                driver.obj.delete_endpoint(tunnel_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"e492485a_1a8da48d","line":518,"range":{"start_line":518,"start_character":63,"end_line":518,"end_character":70},"updated":"2025-07-29 18:51:38.000000000","message":"nit: cannot\n\nAnd you do not need the \\ at eol","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9781677ce35641e74ec1a7a6c4edc32f6c6b4e04","unresolved":false,"context_lines":[{"line_number":515,"context_line":"            try:"},{"line_number":516,"context_line":"                driver \u003d self.type_manager.drivers.get(t_type)"},{"line_number":517,"context_line":"            except KeyError:"},{"line_number":518,"context_line":"                LOG.warning(\u0027Tunnel type %s is not registered, can not \u0027 \\"},{"line_number":519,"context_line":"                            \u0027delete tunnel endpoint for it.\u0027, t_type)"},{"line_number":520,"context_line":"            else:"},{"line_number":521,"context_line":"                driver.obj.delete_endpoint(tunnel_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"cf1250ab_91b5b7b8","line":518,"range":{"start_line":518,"start_character":63,"end_line":518,"end_character":70},"in_reply_to":"4f19fee5_5d7b75b9","updated":"2025-08-21 20:59:49.000000000","message":"Done","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a7c94c51b3d465d4d06146ba7ec671d8a533e458","unresolved":true,"context_lines":[{"line_number":515,"context_line":"            try:"},{"line_number":516,"context_line":"                driver \u003d self.type_manager.drivers.get(t_type)"},{"line_number":517,"context_line":"            except KeyError:"},{"line_number":518,"context_line":"                LOG.warning(\u0027Tunnel type %s is not registered, can not \u0027 \\"},{"line_number":519,"context_line":"                            \u0027delete tunnel endpoint for it.\u0027, t_type)"},{"line_number":520,"context_line":"            else:"},{"line_number":521,"context_line":"                driver.obj.delete_endpoint(tunnel_ip)"}],"source_content_type":"text/x-python","patch_set":7,"id":"4f19fee5_5d7b75b9","line":518,"range":{"start_line":518,"start_character":63,"end_line":518,"end_character":70},"in_reply_to":"e492485a_1a8da48d","updated":"2025-08-21 13:21:42.000000000","message":"thanks\ndone","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"}],"neutron/tests/unit/plugins/ml2/test_plugin.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":604,"context_line":"            for field in agent_dict:"},{"line_number":605,"context_line":"                setattr(self, field, agent_dict[field])"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"    def test_delete_agent_notified_x(self):"},{"line_number":608,"context_line":"        agent_status \u003d {\u0027agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":609,"context_line":"                \u0027binary\u0027: constants.AGENT_PROCESS_OVS,"},{"line_number":610,"context_line":"                \u0027host\u0027: \u0027AHOST\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"a34a1c0f_1227c538","line":607,"range":{"start_line":607,"start_character":34,"end_line":607,"end_character":36},"updated":"2025-07-07 20:00:24.000000000","message":"does the _x stand for anything?","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":604,"context_line":"            for field in agent_dict:"},{"line_number":605,"context_line":"                setattr(self, field, agent_dict[field])"},{"line_number":606,"context_line":""},{"line_number":607,"context_line":"    def test_delete_agent_notified_x(self):"},{"line_number":608,"context_line":"        agent_status \u003d {\u0027agent_type\u0027: constants.AGENT_TYPE_OVS,"},{"line_number":609,"context_line":"                \u0027binary\u0027: constants.AGENT_PROCESS_OVS,"},{"line_number":610,"context_line":"                \u0027host\u0027: \u0027AHOST\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"592fa1ce_cf55d108","line":607,"range":{"start_line":607,"start_character":34,"end_line":607,"end_character":36},"in_reply_to":"a34a1c0f_1227c538","updated":"2025-07-21 14:01:23.000000000","message":"😕 , no leftover from my local testing","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3835884545161e5384d1b079b66f796e11618289","unresolved":true,"context_lines":[{"line_number":613,"context_line":"                                   \u0027tunneling_ip\u0027: \u0027100.101.2.3\u0027}}"},{"line_number":614,"context_line":"        agent \u003d self.plugin.create_or_update_agent(self.context,"},{"line_number":615,"context_line":"                                                  dict(agent_status),"},{"line_number":616,"context_line":"                                                  timeutils.utcnow())"},{"line_number":617,"context_line":"        agnt \u003d self.Agent(agent[1])"},{"line_number":618,"context_line":"        with mock.patch.object("},{"line_number":619,"context_line":"                self.plugin.notifier, \u0027tunnel_delete\u0027) as m_t_del:"}],"source_content_type":"text/x-python","patch_set":5,"id":"cf0b1bba_ded655cc","line":616,"updated":"2025-07-07 20:00:24.000000000","message":"nit: these look off by one space, but pep8 job didn\u0027t notice ?","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"29ae76589223ed5a08fa923f73509e5a8daff2b4","unresolved":false,"context_lines":[{"line_number":613,"context_line":"                                   \u0027tunneling_ip\u0027: \u0027100.101.2.3\u0027}}"},{"line_number":614,"context_line":"        agent \u003d self.plugin.create_or_update_agent(self.context,"},{"line_number":615,"context_line":"                                                  dict(agent_status),"},{"line_number":616,"context_line":"                                                  timeutils.utcnow())"},{"line_number":617,"context_line":"        agnt \u003d self.Agent(agent[1])"},{"line_number":618,"context_line":"        with mock.patch.object("},{"line_number":619,"context_line":"                self.plugin.notifier, \u0027tunnel_delete\u0027) as m_t_del:"}],"source_content_type":"text/x-python","patch_set":5,"id":"ad2178ae_5566c8ca","line":616,"in_reply_to":"cf0b1bba_ded655cc","updated":"2025-07-21 14:01:23.000000000","message":"Done","commit_id":"f11e8e32aa484bd93a82fbf167478716bdcd3add"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"01d22e6bd6a02ab549b38565a84a864495c1ddb9","unresolved":true,"context_lines":[{"line_number":652,"context_line":"                        self.context, states\u003d(agnt,),"},{"line_number":653,"context_line":"                        resource_id\u003dagent[1][\u0027id\u0027]))"},{"line_number":654,"context_line":"                self.assertEqual(0, m_t_del.call_count)"},{"line_number":655,"context_line":"                self.assertEqual(0, m_del_ep.call_count)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"class TestMl2NetworksV2AgentMechDrivers(Ml2PluginV2TestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"cd8e1cca_a89b2bc0","line":655,"updated":"2025-07-29 18:51:38.000000000","message":"I think these should be:\n\nm_t_del.assert_not_called()\nm_del_ep.assert_not_called()","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a7c94c51b3d465d4d06146ba7ec671d8a533e458","unresolved":true,"context_lines":[{"line_number":652,"context_line":"                        self.context, states\u003d(agnt,),"},{"line_number":653,"context_line":"                        resource_id\u003dagent[1][\u0027id\u0027]))"},{"line_number":654,"context_line":"                self.assertEqual(0, m_t_del.call_count)"},{"line_number":655,"context_line":"                self.assertEqual(0, m_del_ep.call_count)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"class TestMl2NetworksV2AgentMechDrivers(Ml2PluginV2TestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"cf213731_b4fbd624","line":655,"in_reply_to":"cd8e1cca_a89b2bc0","updated":"2025-08-21 13:21:42.000000000","message":"cool, thanks, much better","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9781677ce35641e74ec1a7a6c4edc32f6c6b4e04","unresolved":false,"context_lines":[{"line_number":652,"context_line":"                        self.context, states\u003d(agnt,),"},{"line_number":653,"context_line":"                        resource_id\u003dagent[1][\u0027id\u0027]))"},{"line_number":654,"context_line":"                self.assertEqual(0, m_t_del.call_count)"},{"line_number":655,"context_line":"                self.assertEqual(0, m_del_ep.call_count)"},{"line_number":656,"context_line":""},{"line_number":657,"context_line":""},{"line_number":658,"context_line":"class TestMl2NetworksV2AgentMechDrivers(Ml2PluginV2TestCase):"}],"source_content_type":"text/x-python","patch_set":7,"id":"58fe7f86_7a6d81be","line":655,"in_reply_to":"cf213731_b4fbd624","updated":"2025-08-21 20:59:49.000000000","message":"Done","commit_id":"22f22c0b32687fdba64730ff37b6c77e72a49a35"}]}
