)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"058269db885dd12673f31d7014a502e4b0170847","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sridar Kandaswamy \u003cskandasw@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-09 23:47:42 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix KeyError exception on firewall-create when router without any i/f is present in tenant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The workflow of creating a firewall when a router without any i/f is present in that tenant"},{"line_number":10,"context_line":"causes a KeyError on the FWAgent. The issue occurs as such routers are present in the list of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAVn%2F%2FDMQ%3D","line":7,"updated":"2014-03-10 12:24:30.000000000","message":"I think this first summary line needs to be 50 chars or less.","commit_id":"4348f4d7edf1e7371d3a4480c5ae241e451c7e64"},{"author":{"_account_id":6995,"name":"Sridar Kandaswamy","email":"skandasw@yahoo.com","username":"skandasw"},"change_message_id":"88484a8fc37016e6d79d71759d09d303edb22814","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sridar Kandaswamy \u003cskandasw@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-03-09 23:47:42 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix KeyError exception on firewall-create when router without any i/f is present in tenant"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The workflow of creating a firewall when a router without any i/f is present in that tenant"},{"line_number":10,"context_line":"causes a KeyError on the FWAgent. The issue occurs as such routers are present in the list of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAVn%2F%2B%2FnI%3D","line":7,"in_reply_to":"AAAAVn%2F%2FDMQ%3D","updated":"2014-03-10 20:17:05.000000000","message":"Done","commit_id":"4348f4d7edf1e7371d3a4480c5ae241e451c7e64"}],"neutron/tests/unit/services/firewall/agents/l3reference/test_firewall_l3_agent.py":[{"author":{"_account_id":490,"name":"Sumit Naiksatam","email":"sumitnaiksatam@gmail.com","username":"snaiksat"},"change_message_id":"a5725d12cc5907fa70caf3a25fe2a510f203c8de","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            router_info_list \u003d self.api._get_router_info_list_for_tenant("},{"line_number":374,"context_line":"                routers,"},{"line_number":375,"context_line":"                ri.router[\u0027tenant_id\u0027])"},{"line_number":376,"context_line":"            self.assertFalse(router_info_list)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAVn%2F%2B3SE%3D","line":376,"updated":"2014-03-11 16:58:58.000000000","message":"perhaps we can add another UT where this is True as well","commit_id":"03162f4edc123a9054d907ea45b0ecf0f74d2d74"},{"author":{"_account_id":6995,"name":"Sridar Kandaswamy","email":"skandasw@yahoo.com","username":"skandasw"},"change_message_id":"6d26c69953d4370150897ce64aae851a42af8361","unresolved":false,"context_lines":[{"line_number":373,"context_line":"            router_info_list \u003d self.api._get_router_info_list_for_tenant("},{"line_number":374,"context_line":"                routers,"},{"line_number":375,"context_line":"                ri.router[\u0027tenant_id\u0027])"},{"line_number":376,"context_line":"            self.assertFalse(router_info_list)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAWH%2F%2FxCg%3D","line":376,"in_reply_to":"AAAAVn%2F%2B3SE%3D","updated":"2014-03-13 23:11:36.000000000","message":"Thanks Sumit. Have added that and also more testing done in devstack.","commit_id":"03162f4edc123a9054d907ea45b0ecf0f74d2d74"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5c4573360def3c133dceb7ab89ee247290cf52af","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    def test_get_router_info_list_router_without_router_info(self):"},{"line_number":365,"context_line":"        self.conf.set_override(\u0027use_namespaces\u0027, True)"},{"line_number":366,"context_line":"        ri \u003d self._prepare_router_data("},{"line_number":367,"context_line":"            use_namespaces\u003dTrue)"},{"line_number":368,"context_line":"        routers \u003d [ri.router]"},{"line_number":369,"context_line":"        self.api.router_info \u003d {}"},{"line_number":370,"context_line":"        with mock.patch.object(ip_lib.IPWrapper,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2Fpnw%3D","line":367,"updated":"2014-03-14 18:28:43.000000000","message":"Nit: This fits into one line.","commit_id":"4a248b13cfdfbc6c0a7d5135807e707327d3e013"},{"author":{"_account_id":6995,"name":"Sridar Kandaswamy","email":"skandasw@yahoo.com","username":"skandasw"},"change_message_id":"6632f090abb548b22050f9686136f239fa34be23","unresolved":false,"context_lines":[{"line_number":364,"context_line":"    def test_get_router_info_list_router_without_router_info(self):"},{"line_number":365,"context_line":"        self.conf.set_override(\u0027use_namespaces\u0027, True)"},{"line_number":366,"context_line":"        ri \u003d self._prepare_router_data("},{"line_number":367,"context_line":"            use_namespaces\u003dTrue)"},{"line_number":368,"context_line":"        routers \u003d [ri.router]"},{"line_number":369,"context_line":"        self.api.router_info \u003d {}"},{"line_number":370,"context_line":"        with mock.patch.object(ip_lib.IPWrapper,"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2Fov4%3D","line":367,"in_reply_to":"AAAAWH%2F%2Fpnw%3D","updated":"2014-03-14 20:31:18.000000000","message":"Done","commit_id":"4a248b13cfdfbc6c0a7d5135807e707327d3e013"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"5c4573360def3c133dceb7ab89ee247290cf52af","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                ri.router[\u0027tenant_id\u0027])"},{"line_number":376,"context_line":"            self.assertFalse(router_info_list)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def test_get_router_info_list_two_routers_one_without_router_info(self):"},{"line_number":379,"context_line":"        self.conf.set_override(\u0027use_namespaces\u0027, True)"},{"line_number":380,"context_line":"        ri \u003d self._prepare_router_data("},{"line_number":381,"context_line":"            use_namespaces\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2FpmM%3D","line":378,"updated":"2014-03-14 18:28:43.000000000","message":"The only difference between these two is self.api.router_info and assert. Can we share the logic?","commit_id":"4a248b13cfdfbc6c0a7d5135807e707327d3e013"},{"author":{"_account_id":6995,"name":"Sridar Kandaswamy","email":"skandasw@yahoo.com","username":"skandasw"},"change_message_id":"6632f090abb548b22050f9686136f239fa34be23","unresolved":false,"context_lines":[{"line_number":375,"context_line":"                ri.router[\u0027tenant_id\u0027])"},{"line_number":376,"context_line":"            self.assertFalse(router_info_list)"},{"line_number":377,"context_line":""},{"line_number":378,"context_line":"    def test_get_router_info_list_two_routers_one_without_router_info(self):"},{"line_number":379,"context_line":"        self.conf.set_override(\u0027use_namespaces\u0027, True)"},{"line_number":380,"context_line":"        ri \u003d self._prepare_router_data("},{"line_number":381,"context_line":"            use_namespaces\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAWH%2F%2Fouk%3D","line":378,"in_reply_to":"AAAAWH%2F%2FpmM%3D","updated":"2014-03-14 20:31:18.000000000","message":"Thanks Akihiro. Have changed this to bring in the logic into a helper method. Have kept this fairly simple to account for these tests.","commit_id":"4a248b13cfdfbc6c0a7d5135807e707327d3e013"}]}
