)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"184300f9a326cbca2876f707b6e104036b3225f6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nguyen Thanh Cong \u003cntcong1705@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-26 10:40:11 +0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix error hard code key \"port_range_max\". It makes"},{"line_number":8,"context_line":"neutron-openvswitch-agent raise error when i apply"},{"line_number":9,"context_line":"rule with destination_port large than source_port."},{"line_number":10,"context_line":"Closes-Bug: #1869121"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_58b94578","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":50},"updated":"2020-03-26 21:03:29.000000000","message":"Typically commit message are of the format:\n\n  A small description\n\n  A larger description\n  Closes-bug...\n\nSo there should be a line break after \"port_range_max\"","commit_id":"4f5c507439dde30294163518984cffbd9abb66c0"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"964776a38c93db391fc3fcd630da4c37f199269b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Nguyen Thanh Cong \u003cntcong1705@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-26 10:40:11 +0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix error hard code key \"port_range_max\". It makes"},{"line_number":8,"context_line":"neutron-openvswitch-agent raise error when i apply"},{"line_number":9,"context_line":"rule with destination_port large than source_port."},{"line_number":10,"context_line":"Closes-Bug: #1869121"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_f6092f2c","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":50},"in_reply_to":"df33271e_58b94578","updated":"2020-04-14 03:08:32.000000000","message":"Done","commit_id":"4f5c507439dde30294163518984cffbd9abb66c0"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"7857ee6fc40e54a22b2f07b090e39fb6d583b94d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"bac51468_371fa198","updated":"2022-04-26 10:57:21.000000000","message":"please rebase first","commit_id":"e97af77d74c24df3f9c5f06aac6a484fb659e85c"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"77b3f6152ed8e39156da33e800620874615c0cac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"1e77ebef_4fe75e2a","updated":"2022-04-26 08:27:33.000000000","message":"recheck","commit_id":"e97af77d74c24df3f9c5f06aac6a484fb659e85c"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"30f3d446a0a1f78f0a385c87ce2357b17c7222a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ccab5c12_a1ff4e8b","updated":"2022-04-26 09:45:31.000000000","message":"recheck","commit_id":"e97af77d74c24df3f9c5f06aac6a484fb659e85c"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"635f0ae3bee9faf627cb23d812a1a48dc45ac006","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6bdd4633_fe060b40","updated":"2022-04-28 02:03:15.000000000","message":"recheck","commit_id":"7b2839001a37645a35bee3226cd1892eb2071922"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c8556814d80a97e6dc026a8c19be7447d59b5dc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b07f0564_465f98eb","updated":"2022-04-28 02:14:57.000000000","message":"there are some problem in lower-constraints testing.  you can rebase on https://review.opendev.org/c/openstack/neutron-fwaas/+/836419","commit_id":"7b2839001a37645a35bee3226cd1892eb2071922"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"82ccc20df33e43d90885a2fa8271d3bd735e44d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"439594ab_0187ea61","updated":"2022-05-06 09:58:24.000000000","message":"Looks ok","commit_id":"147116b7b1ce20d3db9162702364028d3227de45"}],"neutron_fwaas/tests/unit/services/firewall/service_drivers/agents/drivers/linux/l2/openvswitch_firewall/test_firewall.py":[{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"973f73c39285badddf0520215ed801f9b72775ea","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        self.firewall._remove_egress_no_port_security(\u0027port_id\u0027)"},{"line_number":694,"context_line":"        self.assertFalse(self.mock_bridge.br.delete_flows.called)"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    def test_add_flows_from_rules_with_dst_large_than_src_port(self):"},{"line_number":697,"context_line":"        port_dict \u003d {"},{"line_number":698,"context_line":"            \u0027device\u0027: \u0027port-id\u0027,"},{"line_number":699,"context_line":"            \u0027firewall_group\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_18ffbd01","line":696,"range":{"start_line":696,"start_character":8,"end_line":696,"end_character":62},"updated":"2020-04-08 02:22:27.000000000","message":"I think this test should assert some function call or other assert. It seems do nothing here.","commit_id":"e653a6f6a9b29eb0d4e59c2c11b240de1e4814e7"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"2f4bcf46d3eccd18381cb8c5823a7e912c364b25","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        self.firewall._remove_egress_no_port_security(\u0027port_id\u0027)"},{"line_number":694,"context_line":"        self.assertFalse(self.mock_bridge.br.delete_flows.called)"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    def test_add_flows_from_rules_with_dst_large_than_src_port(self):"},{"line_number":697,"context_line":"        port_dict \u003d {"},{"line_number":698,"context_line":"            \u0027device\u0027: \u0027port-id\u0027,"},{"line_number":699,"context_line":"            \u0027firewall_group\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_3145d4b4","line":696,"range":{"start_line":696,"start_character":8,"end_line":696,"end_character":62},"in_reply_to":"3f4c43b2_6907601e","updated":"2020-05-11 11:09:03.000000000","message":"@Dongcan Ye I added assertEqual, please review again for me, thanks!","commit_id":"e653a6f6a9b29eb0d4e59c2c11b240de1e4814e7"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"964776a38c93db391fc3fcd630da4c37f199269b","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        self.firewall._remove_egress_no_port_security(\u0027port_id\u0027)"},{"line_number":694,"context_line":"        self.assertFalse(self.mock_bridge.br.delete_flows.called)"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    def test_add_flows_from_rules_with_dst_large_than_src_port(self):"},{"line_number":697,"context_line":"        port_dict \u003d {"},{"line_number":698,"context_line":"            \u0027device\u0027: \u0027port-id\u0027,"},{"line_number":699,"context_line":"            \u0027firewall_group\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f4c43b2_6907601e","line":696,"range":{"start_line":696,"start_character":8,"end_line":696,"end_character":62},"in_reply_to":"df33271e_18ffbd01","updated":"2020-04-14 03:08:32.000000000","message":"I think this test don\u0027t need assert function because with the old code, run this test will fail","commit_id":"e653a6f6a9b29eb0d4e59c2c11b240de1e4814e7"},{"author":{"_account_id":31662,"name":"Cong Nguyen Thanh","email":"ntcong1705@gmail.com","username":"congnt95"},"change_message_id":"5a4164130e5739620099e5aa0febd068e1f28f3b","unresolved":false,"context_lines":[{"line_number":693,"context_line":"        self.firewall._remove_egress_no_port_security(\u0027port_id\u0027)"},{"line_number":694,"context_line":"        self.assertFalse(self.mock_bridge.br.delete_flows.called)"},{"line_number":695,"context_line":""},{"line_number":696,"context_line":"    def test_add_flows_from_rules_with_dst_large_than_src_port(self):"},{"line_number":697,"context_line":"        port_dict \u003d {"},{"line_number":698,"context_line":"            \u0027device\u0027: \u0027port-id\u0027,"},{"line_number":699,"context_line":"            \u0027firewall_group\u0027: 123,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff570b3c_d2ebb3ad","line":696,"range":{"start_line":696,"start_character":8,"end_line":696,"end_character":62},"in_reply_to":"ff570b3c_3145d4b4","updated":"2020-05-11 16:01:54.000000000","message":"Done","commit_id":"e653a6f6a9b29eb0d4e59c2c11b240de1e4814e7"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"62df7f448083243468555c0e112193bd9789f68e","unresolved":false,"context_lines":[{"line_number":712,"context_line":"            \u0027port_range_max\u0027: 7000,"},{"line_number":713,"context_line":"            \u0027source_port_range_min\u0027: 4000,"},{"line_number":714,"context_line":"            \u0027source_port_range_max\u0027: 4000,"},{"line_number":715,"context_line":"            }, {"},{"line_number":716,"context_line":"            \u0027ip_version\u0027: 6,"},{"line_number":717,"context_line":"            \u0027source_port\u0027: \u00274000\u0027,"},{"line_number":718,"context_line":"            \u0027destination_port\u0027: \u00277000\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_77a0dca6","line":715,"updated":"2020-05-11 12:09:23.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"e06438c1a89fafb084652b34a89aedeede794bc8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"62df7f448083243468555c0e112193bd9789f68e","unresolved":false,"context_lines":[{"line_number":724,"context_line":"            \u0027port_range_max\u0027: 7000,"},{"line_number":725,"context_line":"            \u0027source_port_range_min\u0027: 4000,"},{"line_number":726,"context_line":"            \u0027source_port_range_max\u0027: 4000,"},{"line_number":727,"context_line":"            }]"},{"line_number":728,"context_line":"        egress_rules \u003d [{"},{"line_number":729,"context_line":"            \u0027ip_version\u0027: 4,"},{"line_number":730,"context_line":"            \u0027source_port\u0027: \u00274000\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_57a5d8b4","line":727,"updated":"2020-05-11 12:09:23.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"e06438c1a89fafb084652b34a89aedeede794bc8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"62df7f448083243468555c0e112193bd9789f68e","unresolved":false,"context_lines":[{"line_number":737,"context_line":"            \u0027port_range_max\u0027: 7000,"},{"line_number":738,"context_line":"            \u0027source_port_range_min\u0027: 4000,"},{"line_number":739,"context_line":"            \u0027source_port_range_max\u0027: 4000,"},{"line_number":740,"context_line":"            }, {"},{"line_number":741,"context_line":"            \u0027ip_version\u0027: 6,"},{"line_number":742,"context_line":"            \u0027source_port\u0027: \u00274000\u0027,"},{"line_number":743,"context_line":"            \u0027destination_port\u0027: \u00277000\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_b7aa7482","line":740,"updated":"2020-05-11 12:09:23.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"e06438c1a89fafb084652b34a89aedeede794bc8"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"62df7f448083243468555c0e112193bd9789f68e","unresolved":false,"context_lines":[{"line_number":749,"context_line":"            \u0027port_range_max\u0027: 7000,"},{"line_number":750,"context_line":"            \u0027source_port_range_min\u0027: 4000,"},{"line_number":751,"context_line":"            \u0027source_port_range_max\u0027: 4000,"},{"line_number":752,"context_line":"            }]"},{"line_number":753,"context_line":"        port.fw_group.ingress_rules \u003d [{"},{"line_number":754,"context_line":"                \u0027ip_version\u0027: 4,"},{"line_number":755,"context_line":"                \u0027source_port\u0027: \u00274000\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ff570b3c_97af7093","line":752,"updated":"2020-05-11 12:09:23.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"e06438c1a89fafb084652b34a89aedeede794bc8"}]}
