)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"a4937c9c0bcf698d9ec168c5cddfeac032808fe0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Not auto schedule router when sync routers from agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now there are 2 code path that will auto schedule routers to agent."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"The first one is get_router_ids, which will bind all un-scheduled"},{"line_number":12,"context_line":"routers to the agent. This will happen at agent startup, revive, and"},{"line_number":13,"context_line":"update."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The second one is sync_routers, which will bind the specified routers"},{"line_number":16,"context_line":"to agent. This will happen when agent requires some router info."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Since \u0027router_id\u0027 will be removed in the dependent patch, get_router_ids"},{"line_number":19,"context_line":"will always be called at agent startup, revive, and update, which can"},{"line_number":20,"context_line":"cover all the cases that auto schedule needs. And no need for other"},{"line_number":21,"context_line":"code path."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In this patch, auto schedule router will be removed from sync_routers,"},{"line_number":24,"context_line":"so that the reported bug can be fixed. And potential race can be avoid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3aaa91ec_093e81c0","line":21,"range":{"start_line":9,"start_character":0,"end_line":21,"end_character":10},"updated":"2016-06-24 18:52:30.000000000","message":"All of this seems more appropriate for the bug report.  Commit messages should describe the change being made, not the problem.  This commit message is a bit long-winded and removing much of this will help.","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ebb9936c40491db485d4b93508fe1c48879d9029","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Not auto schedule router when sync routers from agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Now there are 2 code path that will auto schedule routers to agent."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"The first one is get_router_ids, which will bind all un-scheduled"},{"line_number":12,"context_line":"routers to the agent. This will happen at agent startup, revive, and"},{"line_number":13,"context_line":"update."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The second one is sync_routers, which will bind the specified routers"},{"line_number":16,"context_line":"to agent. This will happen when agent requires some router info."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Since \u0027router_id\u0027 will be removed in the dependent patch, get_router_ids"},{"line_number":19,"context_line":"will always be called at agent startup, revive, and update, which can"},{"line_number":20,"context_line":"cover all the cases that auto schedule needs. And no need for other"},{"line_number":21,"context_line":"code path."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"In this patch, auto schedule router will be removed from sync_routers,"},{"line_number":24,"context_line":"so that the reported bug can be fixed. And potential race can be avoid"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3aaa91ec_a024900c","line":21,"range":{"start_line":9,"start_character":0,"end_line":21,"end_character":10},"in_reply_to":"3aaa91ec_093e81c0","updated":"2016-06-25 02:09:36.000000000","message":"Will move this to the bug report, thanks for the suggestion.","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"a4937c9c0bcf698d9ec168c5cddfeac032808fe0","unresolved":false,"context_lines":[{"line_number":25,"context_line":"accoridng to [1]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The result of patch will make the l3 agent can\u0027t get the router info"},{"line_number":28,"context_line":"when the router is not binded to the l3 agent. And router in agent will"},{"line_number":29,"context_line":"be removed during the agent processing. This makes sense, since, in"},{"line_number":30,"context_line":"neutron server, the router is not tied to the agent. For DVR, if there"},{"line_number":31,"context_line":"are service port in the agent host, the router info will still be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3aaa91ec_91bf3360","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":29},"updated":"2016-06-24 18:52:30.000000000","message":"*bound","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ebb9936c40491db485d4b93508fe1c48879d9029","unresolved":false,"context_lines":[{"line_number":25,"context_line":"accoridng to [1]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"The result of patch will make the l3 agent can\u0027t get the router info"},{"line_number":28,"context_line":"when the router is not binded to the l3 agent. And router in agent will"},{"line_number":29,"context_line":"be removed during the agent processing. This makes sense, since, in"},{"line_number":30,"context_line":"neutron server, the router is not tied to the agent. For DVR, if there"},{"line_number":31,"context_line":"are service port in the agent host, the router info will still be"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3aaa91ec_e01a18c5","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":29},"in_reply_to":"3aaa91ec_91bf3360","updated":"2016-06-25 02:09:36.000000000","message":"Done","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"}],"neutron/tests/unit/db/test_agentschedulers_db.py":[{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"fdfb26674ba0928a1a0c8abb74041b007db72f40","unresolved":false,"context_lines":[{"line_number":966,"context_line":"            self.assertIn(router_ids[0], [r[\u0027id\u0027] for r in ret_a])"},{"line_number":967,"context_line":"            self.assertIn(router_ids[2], [r[\u0027id\u0027] for r in ret_a])"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    def test_not_auto_schedule_when_sync_router(self):"},{"line_number":970,"context_line":"        l3_rpc_cb \u003d l3_rpc.L3RpcCallback()"},{"line_number":971,"context_line":"        self._register_agent_states()"},{"line_number":972,"context_line":"        hosta_id \u003d self._get_agent_id(constants.AGENT_TYPE_L3, L3_HOSTA)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_51141943","line":969,"updated":"2016-06-23 01:07:19.000000000","message":"Both of these tests seem pointless to me. We removed some code, do we really need to test for the lack of code at this point?","commit_id":"15c54809e8563d29f756a1d861373e0600cb00a7"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"aa39eecc9b13ea6313910fd81d73356f972fef5f","unresolved":false,"context_lines":[{"line_number":966,"context_line":"            self.assertIn(router_ids[0], [r[\u0027id\u0027] for r in ret_a])"},{"line_number":967,"context_line":"            self.assertIn(router_ids[2], [r[\u0027id\u0027] for r in ret_a])"},{"line_number":968,"context_line":""},{"line_number":969,"context_line":"    def test_not_auto_schedule_when_sync_router(self):"},{"line_number":970,"context_line":"        l3_rpc_cb \u003d l3_rpc.L3RpcCallback()"},{"line_number":971,"context_line":"        self._register_agent_states()"},{"line_number":972,"context_line":"        hosta_id \u003d self._get_agent_id(constants.AGENT_TYPE_L3, L3_HOSTA)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3aaa91ec_47fa9bbe","line":969,"in_reply_to":"3aaa91ec_51141943","updated":"2016-06-23 02:43:36.000000000","message":"These 2 test case here do test the lack of the code(which is that the router will not be scheduled.)\n\nBut they also test the consequence of removing the code, that is: For non-dvr router, agent can\u0027t get router dict if the router is not binded to the agent. This is a different behaviour without the code.\n\nFor dvr, agent can get router dict, as long as there is dvr service port in the host of agent, and no matter if the router is binded to the agent. This is the same behaviour with/without the removed code. \n\nI think they have some point, maybe I don\u0027t give them a appropriate name.","commit_id":"15c54809e8563d29f756a1d861373e0600cb00a7"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"a4937c9c0bcf698d9ec168c5cddfeac032808fe0","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        with self.router() as r1:"},{"line_number":975,"context_line":"            ret_a \u003d l3_rpc_cb.sync_routers(self.adminContext, host\u003dL3_HOSTA,"},{"line_number":976,"context_line":"                                           router_ids\u003d[r1[\u0027router\u0027][\u0027id\u0027]])"},{"line_number":977,"context_line":"            # Not return router to agent if the router is not binded to it."},{"line_number":978,"context_line":"            self.assertEqual([], ret_a)"},{"line_number":979,"context_line":"            host_routers \u003d self._list_routers_hosted_by_l3_agent(hosta_id)"},{"line_number":980,"context_line":"            # No router will be auto scheduled."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_d1b53b7e","line":977,"range":{"start_line":977,"start_character":62,"end_line":977,"end_character":68},"updated":"2016-06-24 18:52:30.000000000","message":"*bounded","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"ebb9936c40491db485d4b93508fe1c48879d9029","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        with self.router() as r1:"},{"line_number":975,"context_line":"            ret_a \u003d l3_rpc_cb.sync_routers(self.adminContext, host\u003dL3_HOSTA,"},{"line_number":976,"context_line":"                                           router_ids\u003d[r1[\u0027router\u0027][\u0027id\u0027]])"},{"line_number":977,"context_line":"            # Not return router to agent if the router is not binded to it."},{"line_number":978,"context_line":"            self.assertEqual([], ret_a)"},{"line_number":979,"context_line":"            host_routers \u003d self._list_routers_hosted_by_l3_agent(hosta_id)"},{"line_number":980,"context_line":"            # No router will be auto scheduled."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_2066e050","line":977,"range":{"start_line":977,"start_character":62,"end_line":977,"end_character":68},"in_reply_to":"3aaa91ec_d1b53b7e","updated":"2016-06-25 02:09:36.000000000","message":"I would use bound to keep consistent with commit message.","commit_id":"4444933cabc388e36d2222a59bbf7e8237dffbe5"}]}
