)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c942c5da57c9b8d10acf594a05f2e38097529832","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fixes argument mismatch in l3-agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes bug 1202055"},{"line_number":10,"context_line":"Also fixes deletion problem in snat rule"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I007a81003e343300836ad226c2dc64b95c5a3247"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAP3%2F%2FgxQ%3D","line":10,"updated":"2013-07-17 05:53:08.000000000","message":"It is better to file it as a bug.","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"a010e1c6c8efb3352efbdbccbf075bf1b70d1679","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fixes argument mismatch in l3-agent"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes bug 1202055"},{"line_number":10,"context_line":"Also fixes deletion problem in snat rule"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I007a81003e343300836ad226c2dc64b95c5a3247"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAP3%2F%2Fgvs%3D","line":10,"in_reply_to":"AAAAP3%2F%2FgxQ%3D","updated":"2013-07-17 05:57:57.000000000","message":"This will be bug after fixes 1202055, so I added note on the original bug report","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"}],"neutron/agent/l3_agent.py":[{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"592984e49dd2b403849e35fbebb4cb0ba6b3e48f","unresolved":false,"context_lines":[{"line_number":691,"context_line":"    def _process_router_delete(self):"},{"line_number":692,"context_line":"        current_removed_routers \u003d list(self.removed_routers)"},{"line_number":693,"context_line":"        for router_id in current_removed_routers:"},{"line_number":694,"context_line":"            self._router_removed(router_id)"},{"line_number":695,"context_line":"            self.removed_routers.remove(router_id)"},{"line_number":696,"context_line":""},{"line_number":697,"context_line":"    def _router_ids(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAP3%2F%2Fg0o%3D","line":694,"updated":"2013-07-17 05:05:38.000000000","message":"adding a unit test will help in catching up these kind of bugs","commit_id":"5ccf66d7cb252667a044006dfec947d5144b13b1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c942c5da57c9b8d10acf594a05f2e38097529832","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                                  interface_name, action):"},{"line_number":396,"context_line":"        #Do nothing in case of deletion"},{"line_number":397,"context_line":"        if not ex_gw_port:"},{"line_number":398,"context_line":"            return"},{"line_number":399,"context_line":"        # Remove all the rules"},{"line_number":400,"context_line":"        # This is safe because if use_namespaces is set as False"},{"line_number":401,"context_line":"        # then the agent can only configure one router, otherwise"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FgxY%3D","line":398,"updated":"2013-07-17 05:53:08.000000000","message":"Could you add unit tests to cover this?","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"43db5db59d80a4662fa9d87561b72a24aaedda7a","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                                  interface_name, action):"},{"line_number":396,"context_line":"        #Do nothing in case of deletion"},{"line_number":397,"context_line":"        if not ex_gw_port:"},{"line_number":398,"context_line":"            return"},{"line_number":399,"context_line":"        # Remove all the rules"},{"line_number":400,"context_line":"        # This is safe because if use_namespaces is set as False"},{"line_number":401,"context_line":"        # then the agent can only configure one router, otherwise"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fgrk%3D","line":398,"in_reply_to":"AAAAP3%2F%2Fgr4%3D","updated":"2013-07-17 06:08:34.000000000","message":"Done","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"20682fb3caa23267820d45b3adbf86e7cc5ddad5","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                                  interface_name, action):"},{"line_number":396,"context_line":"        #Do nothing in case of deletion"},{"line_number":397,"context_line":"        if not ex_gw_port:"},{"line_number":398,"context_line":"            return"},{"line_number":399,"context_line":"        # Remove all the rules"},{"line_number":400,"context_line":"        # This is safe because if use_namespaces is set as False"},{"line_number":401,"context_line":"        # then the agent can only configure one router, otherwise"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fgr4%3D","line":398,"in_reply_to":"AAAAP3%2F%2Fgv0%3D","updated":"2013-07-17 06:05:09.000000000","message":"we need move 397 after line 406","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"a010e1c6c8efb3352efbdbccbf075bf1b70d1679","unresolved":false,"context_lines":[{"line_number":395,"context_line":"                                  interface_name, action):"},{"line_number":396,"context_line":"        #Do nothing in case of deletion"},{"line_number":397,"context_line":"        if not ex_gw_port:"},{"line_number":398,"context_line":"            return"},{"line_number":399,"context_line":"        # Remove all the rules"},{"line_number":400,"context_line":"        # This is safe because if use_namespaces is set as False"},{"line_number":401,"context_line":"        # then the agent can only configure one router, otherwise"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fgv0%3D","line":398,"in_reply_to":"AAAAP3%2F%2FgxY%3D","updated":"2013-07-17 05:57:57.000000000","message":"test_process_router_delete(self): covers this case","commit_id":"7d0f6cbd602c2f59c3b95551eda4972ab9d52251"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"ddd1d20b13c026500973c163e33794d8bdf59530","unresolved":false,"context_lines":[{"line_number":403,"context_line":"        if action \u003d\u003d \u0027add_rules\u0027:"},{"line_number":404,"context_line":"            #Do nothing in case of deletion"},{"line_number":405,"context_line":"            if not ex_gw_port:"},{"line_number":406,"context_line":"                return"},{"line_number":407,"context_line":"            # ex_gw_port should not be None in this case"},{"line_number":408,"context_line":"            ex_gw_ip \u003d ex_gw_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":409,"context_line":"            for rule in self.external_gateway_nat_rules(ex_gw_ip,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2Fgns%3D","line":406,"updated":"2013-07-17 06:31:59.000000000","message":"change  line 403: if action \u003d\u003d \u0027add_rules\u0027 and ex_gw_port:","commit_id":"8e790400e74f9c0c0e46a540ac1c0b7119e23adc"}]}
