)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"5b3cd3871b49d61ed9d081f39b528d19b2a183d9","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add FT for remove_router_from_l3_agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces a new functional for remove_router_from_l3_agent"},{"line_number":10,"context_line":"for DVR scenario."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ied6c88c85ced7b956fad3473ede4688020a357a4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6ed579_5d5e72ea","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":38},"updated":"2016-01-12 15:44:40.000000000","message":"test?","commit_id":"7c9bda91fb92d6425f50ae288499f09a127367d6"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"8d619660c732286195aad5a1c2063c9c467cc97e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add FT for remove_router_from_l3_agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch introduces a new functional for remove_router_from_l3_agent"},{"line_number":10,"context_line":"for DVR scenario."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ied6c88c85ced7b956fad3473ede4688020a357a4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"da6ed579_d3feb737","line":9,"range":{"start_line":9,"start_character":28,"end_line":9,"end_character":38},"in_reply_to":"da6ed579_5d5e72ea","updated":"2016-01-13 03:37:58.000000000","message":"Yes, a new functional test, sorry for my mistake.","commit_id":"7c9bda91fb92d6425f50ae288499f09a127367d6"}],"neutron/tests/functional/services/l3_router/test_l3_dvr_router_plugin.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"cd73760edaec2e0d09734b4a72e04dbd15bca6ea","unresolved":false,"context_lines":[{"line_number":901,"context_line":"            l3_notifier.router_removed_from_agent.assert_called_once_with("},{"line_number":902,"context_line":"                self.context, router[\u0027id\u0027], HOST1)"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"    def test_remove_router_from_dvr_snat_agent(self):"},{"line_number":905,"context_line":"        router \u003d self._create_router()"},{"line_number":906,"context_line":"        kwargs \u003d {\u0027arg_list\u0027: (external_net.EXTERNAL,),"},{"line_number":907,"context_line":"                  external_net.EXTERNAL: True}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_06ac5a8b","line":904,"range":{"start_line":904,"start_character":8,"end_line":904,"end_character":46},"updated":"2016-02-02 09:56:52.000000000","message":"the test is unrelated to the fix","commit_id":"d275e0aa0e22d3d99ff31fec8f0059e3a5039792"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"f763f429aac9adabdbb51264237786708edf04c3","unresolved":false,"context_lines":[{"line_number":901,"context_line":"            l3_notifier.router_removed_from_agent.assert_called_once_with("},{"line_number":902,"context_line":"                self.context, router[\u0027id\u0027], HOST1)"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"    def test_remove_router_from_dvr_snat_agent(self):"},{"line_number":905,"context_line":"        router \u003d self._create_router()"},{"line_number":906,"context_line":"        kwargs \u003d {\u0027arg_list\u0027: (external_net.EXTERNAL,),"},{"line_number":907,"context_line":"                  external_net.EXTERNAL: True}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_f5668228","line":904,"range":{"start_line":904,"start_character":8,"end_line":904,"end_character":46},"in_reply_to":"7a5de9d1_06ac5a8b","updated":"2016-02-02 10:39:42.000000000","message":"ok, shall I submit another patch to add this test? We don\u0027t have a functional test for remove_router_from_l3_agent yet.","commit_id":"d275e0aa0e22d3d99ff31fec8f0059e3a5039792"},{"author":{"_account_id":13667,"name":"ZongKai LI","email":"onionpiece@163.com","username":"lzklibj"},"change_message_id":"6acd43aced182ca2342084aad6d99a28eb3a789f","unresolved":false,"context_lines":[{"line_number":901,"context_line":"            l3_notifier.router_removed_from_agent.assert_called_once_with("},{"line_number":902,"context_line":"                self.context, router[\u0027id\u0027], HOST1)"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"    def test_remove_router_from_dvr_snat_agent(self):"},{"line_number":905,"context_line":"        router \u003d self._create_router()"},{"line_number":906,"context_line":"        kwargs \u003d {\u0027arg_list\u0027: (external_net.EXTERNAL,),"},{"line_number":907,"context_line":"                  external_net.EXTERNAL: True}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_9be5ffdd","line":904,"range":{"start_line":904,"start_character":8,"end_line":904,"end_character":46},"in_reply_to":"7a5de9d1_e029def3","updated":"2016-02-02 11:04:34.000000000","message":"Done","commit_id":"d275e0aa0e22d3d99ff31fec8f0059e3a5039792"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"06425d1fa3998fbe2f95734d60a218115b0e24a2","unresolved":false,"context_lines":[{"line_number":901,"context_line":"            l3_notifier.router_removed_from_agent.assert_called_once_with("},{"line_number":902,"context_line":"                self.context, router[\u0027id\u0027], HOST1)"},{"line_number":903,"context_line":""},{"line_number":904,"context_line":"    def test_remove_router_from_dvr_snat_agent(self):"},{"line_number":905,"context_line":"        router \u003d self._create_router()"},{"line_number":906,"context_line":"        kwargs \u003d {\u0027arg_list\u0027: (external_net.EXTERNAL,),"},{"line_number":907,"context_line":"                  external_net.EXTERNAL: True}"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a5de9d1_e029def3","line":904,"range":{"start_line":904,"start_character":8,"end_line":904,"end_character":46},"in_reply_to":"7a5de9d1_f5668228","updated":"2016-02-02 10:50:29.000000000","message":"yes, please do not mix unrelated changes in one patch","commit_id":"d275e0aa0e22d3d99ff31fec8f0059e3a5039792"}]}
