)]}'
{"/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":"6efda2fde18ec285327ad02fab805bee18aec9fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3cd1e2d8_e3f66ebb","updated":"2021-10-13 09:17:14.000000000","message":"recheck","commit_id":"7e509cf411b63c483f0388326e5500add7c28bc9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"8c9f5ffba7e41cb1f767e0a592c5c4c0267f8f44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4b01e955_ce6f5ddb","updated":"2021-10-13 11:25:51.000000000","message":"recheck","commit_id":"7e509cf411b63c483f0388326e5500add7c28bc9"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"de3014620af4d726aa69d7ff8cea6be136fc12fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"3b8882cf_86c8605d","updated":"2021-10-20 12:10:20.000000000","message":"recheck","commit_id":"a9cee5646ca3710c34a8e54fd29b4c227eb27f03"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e238cc50765aa19a7afb448e6b6aee8911b31014","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a16148c1_cea0e53a","updated":"2021-10-20 09:04:48.000000000","message":"recheck\nPOST_FAILURE","commit_id":"a9cee5646ca3710c34a8e54fd29b4c227eb27f03"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"925f89ffc5bcf9a96a0b9ceb536bd4ef0893ab48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ff22a8d7_aa725a52","updated":"2021-11-16 13:05:21.000000000","message":"IMHO we can move on with that one. Some nits can be addressed in the follow up patch if needed.","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3bd193d4a088ebee42654af4f3990381259c756c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f0029ea6_689040d5","updated":"2021-11-10 09:35:47.000000000","message":"good test cleanup and nice to see this feature is tested","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"100918e90f13a55975aab17704330bf665c29d71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"2eedb3eb_716b1ca4","updated":"2021-11-17 10:58:20.000000000","message":"recheck","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"}],"neutron/tests/functional/agent/l3/framework.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"85d59663295807d56b9867bbef7a95013dc3e084","unresolved":true,"context_lines":[{"line_number":738,"context_line":"                         for route in updated_route]"},{"line_number":739,"context_line":"        self.assertIn(expected_route, actual_routes)"},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def _assert_ecmp_routes_in_routes(self, router, expected_route):"},{"line_number":742,"context_line":"        updated_route \u003d ip_lib.list_ip_routes("},{"line_number":743,"context_line":"            router.ns_name,"},{"line_number":744,"context_line":"            ip_version\u003dconstants.IP_VERSION_4)"}],"source_content_type":"text/x-python","patch_set":4,"id":"13b5d1ef_ad4544c8","line":741,"range":{"start_line":741,"start_character":21,"end_line":741,"end_character":27},"updated":"2021-08-26 10:59:20.000000000","message":"nit: routes or route?","commit_id":"e7b15d8398a85a00d287f3f1401408d210c17546"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b9756f7eb264350619cea8beb599288036a94a3e","unresolved":true,"context_lines":[{"line_number":738,"context_line":"                         for route in updated_route]"},{"line_number":739,"context_line":"        self.assertIn(expected_route, actual_routes)"},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def _assert_ecmp_routes_in_routes(self, router, expected_route):"},{"line_number":742,"context_line":"        updated_route \u003d ip_lib.list_ip_routes("},{"line_number":743,"context_line":"            router.ns_name,"},{"line_number":744,"context_line":"            ip_version\u003dconstants.IP_VERSION_4)"}],"source_content_type":"text/x-python","patch_set":4,"id":"cdccb70a_ce3adc5c","line":741,"range":{"start_line":741,"start_character":21,"end_line":741,"end_character":27},"in_reply_to":"13b5d1ef_ad4544c8","updated":"2021-08-30 05:10:59.000000000","message":"route seems better, thanks :-)","commit_id":"e7b15d8398a85a00d287f3f1401408d210c17546"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3bd193d4a088ebee42654af4f3990381259c756c","unresolved":true,"context_lines":[{"line_number":742,"context_line":"    def _assert_route_in_routes(self, router, expected_route):"},{"line_number":743,"context_line":"        updated_route \u003d ip_lib.list_ip_routes("},{"line_number":744,"context_line":"            router.ns_name,"},{"line_number":745,"context_line":"            ip_version\u003dconstants.IP_VERSION_4, )"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"        actual_routes \u003d [{key: route[key] for key in expected_route.keys()}"},{"line_number":748,"context_line":"                         for route in updated_route]"}],"source_content_type":"text/x-python","patch_set":10,"id":"1537a0b7_db10e0c1","line":745,"range":{"start_line":745,"start_character":45,"end_line":745,"end_character":47},"updated":"2021-11-10 09:35:47.000000000","message":"nit: to remove","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efa85c232c07b58654e2db762aba0b6c11f15d11","unresolved":true,"context_lines":[{"line_number":742,"context_line":"    def _assert_route_in_routes(self, router, expected_route):"},{"line_number":743,"context_line":"        updated_route \u003d ip_lib.list_ip_routes("},{"line_number":744,"context_line":"            router.ns_name,"},{"line_number":745,"context_line":"            ip_version\u003dconstants.IP_VERSION_4, )"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"        actual_routes \u003d [{key: route[key] for key in expected_route.keys()}"},{"line_number":748,"context_line":"                         for route in updated_route]"}],"source_content_type":"text/x-python","patch_set":10,"id":"c7508510_a65ce030","line":745,"range":{"start_line":745,"start_character":45,"end_line":745,"end_character":47},"in_reply_to":"1537a0b7_db10e0c1","updated":"2021-11-15 10:33:21.000000000","message":"ack, in next ps if needed I will remove.","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3bd193d4a088ebee42654af4f3990381259c756c","unresolved":true,"context_lines":[{"line_number":756,"context_line":"                         for route in updated_route]"},{"line_number":757,"context_line":"        for entry in routes_actual:"},{"line_number":758,"context_line":"            if entry[\u0027via\u0027]:"},{"line_number":759,"context_line":"                if isinstance(entry[\u0027via\u0027], (list, tuple)):"},{"line_number":760,"context_line":"                    via_list \u003d [{\u0027via\u0027: hop[\u0027via\u0027]}"},{"line_number":761,"context_line":"                                for hop in entry[\u0027via\u0027]]"},{"line_number":762,"context_line":"                    entry[\u0027via\u0027] \u003d sorted(via_list, key\u003dlambda i: i[\u0027via\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"27374a85_2bbf0704","line":759,"range":{"start_line":759,"start_character":44,"end_line":759,"end_character":57},"updated":"2021-11-10 09:35:47.000000000","message":"nit: via will be None, string or list, not tuple.","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"efa85c232c07b58654e2db762aba0b6c11f15d11","unresolved":true,"context_lines":[{"line_number":756,"context_line":"                         for route in updated_route]"},{"line_number":757,"context_line":"        for entry in routes_actual:"},{"line_number":758,"context_line":"            if entry[\u0027via\u0027]:"},{"line_number":759,"context_line":"                if isinstance(entry[\u0027via\u0027], (list, tuple)):"},{"line_number":760,"context_line":"                    via_list \u003d [{\u0027via\u0027: hop[\u0027via\u0027]}"},{"line_number":761,"context_line":"                                for hop in entry[\u0027via\u0027]]"},{"line_number":762,"context_line":"                    entry[\u0027via\u0027] \u003d sorted(via_list, key\u003dlambda i: i[\u0027via\u0027])"}],"source_content_type":"text/x-python","patch_set":10,"id":"b49dfbf4_4cdf4bfc","line":759,"range":{"start_line":759,"start_character":44,"end_line":759,"end_character":57},"in_reply_to":"27374a85_2bbf0704","updated":"2021-11-15 10:33:21.000000000","message":"ok, thanks","commit_id":"3a9a17ad8216d039ca3dadce0e8fc160f3ec18ba"}],"neutron/tests/functional/agent/l3/test_dvr_router.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3bd193d4a088ebee42654af4f3990381259c756c","unresolved":true,"context_lines":[{"line_number":2252,"context_line":"    def test_dvr_router_update_ecmp_routes(self):"},{"line_number":2253,"context_line":"        self.agent.conf.agent_mode \u003d \u0027dvr\u0027"},{"line_number":2254,"context_line":"        router_info \u003d self.generate_dvr_router_info()"},{"line_number":2255,"context_line":"        print(router_info)"},{"line_number":2256,"context_line":"        router1 \u003d self.manage_router(self.agent, router_info)"},{"line_number":2257,"context_line":"        router1.router[\u0027routes\u0027] \u003d [{\u0027destination\u0027: \u002720.0.10.10/32\u0027,"},{"line_number":2258,"context_line":"                                     \u0027nexthop\u0027: \u002735.4.0.11\u0027},"}],"source_content_type":"text/x-python","patch_set":10,"id":"65e9c242_bb1ad3ac","side":"PARENT","line":2255,"range":{"start_line":2255,"start_character":8,"end_line":2255,"end_character":26},"updated":"2021-11-10 09:35:47.000000000","message":"hehehehe","commit_id":"32c1762c363d2b55b76135a7d962f03dfe2bbea4"}],"neutron/tests/functional/agent/l3/test_ha_router.py":[{"author":{"_account_id":33145,"name":"Kevin Li","email":"liwenhai3@huawei.com","username":"liwenhai"},"change_message_id":"a6776969bb65d3d23f5097b6d548eb872718640a","unresolved":true,"context_lines":[{"line_number":417,"context_line":"            updated_mtu,"},{"line_number":418,"context_line":"            ip_lib.IPDevice(gw_interface_name, router.ns_name).link.mtu)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"    def test_ha_router_ecmp_routes(self):"},{"line_number":421,"context_line":"        dest_cidr \u003d \u00278.8.8.0/24\u0027"},{"line_number":422,"context_line":"        nexthop1 \u003d \u002719.4.4.4\u0027"},{"line_number":423,"context_line":"        nexthop2 \u003d \u002719.4.4.5\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"fb7103b0_b269d72e","line":420,"updated":"2021-09-17 02:35:18.000000000","message":"nit: test_ha_router_update_emcp_routes","commit_id":"abede21691d99071f7bc6c208e04b60fb9718b4f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"539d974fdb5da95e4acfebdf997f0903a5f8e21f","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            updated_mtu,"},{"line_number":418,"context_line":"            ip_lib.IPDevice(gw_interface_name, router.ns_name).link.mtu)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"    def test_ha_router_ecmp_routes(self):"},{"line_number":421,"context_line":"        dest_cidr \u003d \u00278.8.8.0/24\u0027"},{"line_number":422,"context_line":"        nexthop1 \u003d \u002719.4.4.4\u0027"},{"line_number":423,"context_line":"        nexthop2 \u003d \u002719.4.4.5\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"92e86ef4_9d68eccc","line":420,"in_reply_to":"fb7103b0_b269d72e","updated":"2021-09-17 09:17:10.000000000","message":"Done","commit_id":"abede21691d99071f7bc6c208e04b60fb9718b4f"}],"neutron/tests/functional/agent/l3/test_legacy_router.py":[{"author":{"_account_id":33145,"name":"Kevin Li","email":"liwenhai3@huawei.com","username":"liwenhai"},"change_message_id":"a6776969bb65d3d23f5097b6d548eb872718640a","unresolved":true,"context_lines":[{"line_number":471,"context_line":"            updated_mtu,"},{"line_number":472,"context_line":"            ip_lib.IPDevice(gw_interface_name, router.ns_name).link.mtu)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_legacy_router_ecmp_routes(self):"},{"line_number":475,"context_line":"        self.agent.conf.agent_mode \u003d \u0027legacy\u0027"},{"line_number":476,"context_line":"        dest_cidr \u003d \u00278.8.8.0/24\u0027"},{"line_number":477,"context_line":"        nexthop1 \u003d \u002719.4.4.4\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"2da8d5c1_21c4fb8e","line":474,"updated":"2021-09-17 02:35:18.000000000","message":"nit:test_legacy_router_update_emcp_routes","commit_id":"abede21691d99071f7bc6c208e04b60fb9718b4f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"539d974fdb5da95e4acfebdf997f0903a5f8e21f","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            updated_mtu,"},{"line_number":472,"context_line":"            ip_lib.IPDevice(gw_interface_name, router.ns_name).link.mtu)"},{"line_number":473,"context_line":""},{"line_number":474,"context_line":"    def test_legacy_router_ecmp_routes(self):"},{"line_number":475,"context_line":"        self.agent.conf.agent_mode \u003d \u0027legacy\u0027"},{"line_number":476,"context_line":"        dest_cidr \u003d \u00278.8.8.0/24\u0027"},{"line_number":477,"context_line":"        nexthop1 \u003d \u002719.4.4.4\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"b6272d27_0084f682","line":474,"in_reply_to":"2da8d5c1_21c4fb8e","updated":"2021-09-17 09:17:10.000000000","message":"Done","commit_id":"abede21691d99071f7bc6c208e04b60fb9718b4f"}]}
