)]}'
{"neutron/agent/l3/agent.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"585f60e29894c398d4b8e8500bc2633110b73e37","unresolved":false,"context_lines":[{"line_number":379,"context_line":"            LOG.warning(\"Info for router %s was not found. \""},{"line_number":380,"context_line":"                        \"Performing router cleanup\", router_id)"},{"line_number":381,"context_line":"            self.namespaces_manager.ensure_router_cleanup(router_id)"},{"line_number":382,"context_line":"            return"},{"line_number":383,"context_line":""},{"line_number":384,"context_line":"        registry.notify(resources.ROUTER, events.BEFORE_DELETE,"},{"line_number":385,"context_line":"                        self, router\u003dri)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_b130c957","line":382,"updated":"2017-11-06 18:53:22.000000000","message":"Should probably check ri.active here as well.","commit_id":"ce6758d75092da789abe2bc35cf2f32534c016c7"}],"neutron/agent/l3/router_info.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"eabb9fa734217f89ada3af5786b0555a32c87549","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"        :param process_monitor: The agent\u0027s process monitor instance."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        self._state \u003d ROUTER_STATE_BUILD"},{"line_number":98,"context_line":"        self.process_monitor \u003d process_monitor"},{"line_number":99,"context_line":"        self.radvd \u003d ra.DaemonMonitor(self.router_id,"},{"line_number":100,"context_line":"                                      self.ns_name,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f4b6375_107afeb8","line":97,"updated":"2017-11-03 15:09:43.000000000","message":"this is probably overkill, and if so, the multiple STATE values might be too","commit_id":"ce6758d75092da789abe2bc35cf2f32534c016c7"}],"neutron/common/exceptions.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"585651b772bc39652a65152897cdf4eed6c9988d","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"class RouterNotActive(e.NeutronException):"},{"line_number":246,"context_line":"    message \u003d _(\"Router \u0027%(router_id)s\u0027 is not active, will resync.\")"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class FailToDropPrivilegesExit(SystemExit):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_1c67ad4f","line":246,"updated":"2017-11-04 12:18:49.000000000","message":"I don\u0027t know details of routers but IMO there shouldn\u0027t be next action mentioned in error message (\"will resync\"). What if You this exception will be raised in place where resync will not be necessary?","commit_id":"09c8250518ce25596343e904c917085c7e322e88"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"585f60e29894c398d4b8e8500bc2633110b73e37","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"class RouterNotActive(e.NeutronException):"},{"line_number":246,"context_line":"    message \u003d _(\"Router \u0027%(router_id)s\u0027 is not active, will resync.\")"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"class FailToDropPrivilegesExit(SystemExit):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_09307455","line":246,"in_reply_to":"3f4b6375_1c67ad4f","updated":"2017-11-06 18:53:22.000000000","message":"Done","commit_id":"09c8250518ce25596343e904c917085c7e322e88"}],"neutron/tests/unit/agent/metadata/test_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"585651b772bc39652a65152897cdf4eed6c9988d","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    @mock.patch.object(pd, \u0027update_router\u0027)"},{"line_number":90,"context_line":"    def test_after_router_updated_called_on_agent_process_update(self,"},{"line_number":91,"context_line":"                                                                 upd_rtr):"},{"line_number":92,"context_line":"        with mock.patch.object(metadata_driver, \u0027after_router_updated\u0027) as f,\\"},{"line_number":93,"context_line":"                mock.patch.object(router_info.RouterInfo, \u0027process\u0027):"},{"line_number":94,"context_line":"            agent \u003d l3_agent.L3NATAgent(\u0027localhost\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_5c6f6527","line":91,"updated":"2017-11-04 12:18:49.000000000","message":"can\u0027t You just name it as update_router instead of \"upd_rtr\"?","commit_id":"09c8250518ce25596343e904c917085c7e322e88"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"585f60e29894c398d4b8e8500bc2633110b73e37","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    @mock.patch.object(pd, \u0027update_router\u0027)"},{"line_number":90,"context_line":"    def test_after_router_updated_called_on_agent_process_update(self,"},{"line_number":91,"context_line":"                                                                 upd_rtr):"},{"line_number":92,"context_line":"        with mock.patch.object(metadata_driver, \u0027after_router_updated\u0027) as f,\\"},{"line_number":93,"context_line":"                mock.patch.object(router_info.RouterInfo, \u0027process\u0027):"},{"line_number":94,"context_line":"            agent \u003d l3_agent.L3NATAgent(\u0027localhost\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_69f12895","line":91,"in_reply_to":"3f4b6375_5c6f6527","updated":"2017-11-06 18:53:22.000000000","message":"It over-flowed 79 chars, but I can just indent 4 spaces","commit_id":"09c8250518ce25596343e904c917085c7e322e88"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"585651b772bc39652a65152897cdf4eed6c9988d","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch.object(pd, \u0027update_router\u0027)"},{"line_number":108,"context_line":"    def test_after_router_updated_should_not_call_add_metadata_rules(self,"},{"line_number":109,"context_line":"                                                                     upd_rtr):"},{"line_number":110,"context_line":"        with mock.patch.object(iptables_manager.IptablesTable,"},{"line_number":111,"context_line":"                               \u0027add_rule\u0027) as f,\\"},{"line_number":112,"context_line":"                mock.patch.object(iptables_manager.IptablesManager,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_3c64a949","line":109,"updated":"2017-11-04 12:18:49.000000000","message":"same as above","commit_id":"09c8250518ce25596343e904c917085c7e322e88"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"585f60e29894c398d4b8e8500bc2633110b73e37","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    @mock.patch.object(pd, \u0027update_router\u0027)"},{"line_number":108,"context_line":"    def test_after_router_updated_should_not_call_add_metadata_rules(self,"},{"line_number":109,"context_line":"                                                                     upd_rtr):"},{"line_number":110,"context_line":"        with mock.patch.object(iptables_manager.IptablesTable,"},{"line_number":111,"context_line":"                               \u0027add_rule\u0027) as f,\\"},{"line_number":112,"context_line":"                mock.patch.object(iptables_manager.IptablesManager,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f4b6375_49ec2cba","line":109,"in_reply_to":"3f4b6375_3c64a949","updated":"2017-11-06 18:53:22.000000000","message":"ditto","commit_id":"09c8250518ce25596343e904c917085c7e322e88"}]}
