)]}'
{"dragonflow/controller/dnat_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"2aea994635859a3fd6627c3b44f0b9abc89d4d6f","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        self._install_egress_nat_rules(floatingip)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def disassociate_floatingip(self, floatingip):"},{"line_number":320,"context_line":"        self.local_floatingips.pop(floatingip.get_id(), 0)"},{"line_number":321,"context_line":"        self.delete_floatingip(floatingip)"},{"line_number":322,"context_line":"        self.update_floatingip_status("},{"line_number":323,"context_line":"            floatingip, n_const.FLOATINGIP_STATUS_DOWN)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_4f8691ba","line":320,"range":{"start_line":320,"start_character":0,"end_line":320,"end_character":58},"updated":"2016-11-23 01:59:37.000000000","message":"Since you are removing floatingip from cache at delete_floatingip, this is duplicated.","commit_id":"6633764c85cfc1a7293060b3cc0f47e3efb8d114"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"4c46e080e6a5a1e96ae0a2b41b5e824a205154a0","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        self._install_egress_nat_rules(floatingip)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    def disassociate_floatingip(self, floatingip):"},{"line_number":320,"context_line":"        self.local_floatingips.pop(floatingip.get_id(), 0)"},{"line_number":321,"context_line":"        self.delete_floatingip(floatingip)"},{"line_number":322,"context_line":"        self.update_floatingip_status("},{"line_number":323,"context_line":"            floatingip, n_const.FLOATINGIP_STATUS_DOWN)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_ad55681e","line":320,"range":{"start_line":320,"start_character":0,"end_line":320,"end_character":58},"in_reply_to":"5a74a57a_4f8691ba","updated":"2016-11-23 10:20:36.000000000","message":"You\u0027re right, will remove","commit_id":"6633764c85cfc1a7293060b3cc0f47e3efb8d114"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"723dedd418d81a4489720f8cfc8572992a8e5bf9","unresolved":false,"context_lines":[{"line_number":342,"context_line":"            self._install_egress_nat_rules(floatingip)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def delete_floatingip(self, floatingip):"},{"line_number":345,"context_line":"        self.local_floatingips.pop(floatingip.get_id(), 0)"},{"line_number":346,"context_line":"        self._remove_ingress_nat_rules(floatingip)"},{"line_number":347,"context_line":"        self._remove_egress_nat_rules(floatingip)"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_9e529cdc","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":58},"updated":"2016-11-23 03:14:29.000000000","message":"If you delete the fip here, you will never find it when the south port online again which refer to the add_local_port method.","commit_id":"6633764c85cfc1a7293060b3cc0f47e3efb8d114"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"4c46e080e6a5a1e96ae0a2b41b5e824a205154a0","unresolved":false,"context_lines":[{"line_number":342,"context_line":"            self._install_egress_nat_rules(floatingip)"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"    def delete_floatingip(self, floatingip):"},{"line_number":345,"context_line":"        self.local_floatingips.pop(floatingip.get_id(), 0)"},{"line_number":346,"context_line":"        self._remove_ingress_nat_rules(floatingip)"},{"line_number":347,"context_line":"        self._remove_egress_nat_rules(floatingip)"},{"line_number":348,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_2d7238e6","line":345,"range":{"start_line":345,"start_character":8,"end_line":345,"end_character":58},"in_reply_to":"5a74a57a_9e529cdc","updated":"2016-11-23 10:20:36.000000000","message":"DNATApp::delete_floatingip is called when an associated floatingip is being deleted, so we won\u0027t need to associate it when its port is goes online again.","commit_id":"6633764c85cfc1a7293060b3cc0f47e3efb8d114"}],"dragonflow/tests/unit/test_dnat_app.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"40cccbff0a8e8782406d978d8e580457aff86e43","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            test_app_base.fake_floatingip1.get_id()] \u003d ("},{"line_number":97,"context_line":"                test_app_base.fake_floatingip1)"},{"line_number":98,"context_line":"        self.controller.logical_port_created(test_app_base.fake_local_port1)"},{"line_number":99,"context_line":"        self.dnat_app.delete_floatingip(test_app_base.fake_floatingip1)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        with mock.patch.object("},{"line_number":102,"context_line":"            self.dnat_app,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_8cdb44ed","line":99,"range":{"start_line":99,"start_character":8,"end_line":99,"end_character":71},"updated":"2016-11-23 11:43:36.000000000","message":"I think it is better to call\n\nself.controller.floatingip_delete(test_app_base.fake_floatingip1.get_id())\n\nhere.","commit_id":"a91c8b7162b70c60b4e239205ac5db6b4e98f078"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"40cccbff0a8e8782406d978d8e580457aff86e43","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                test_app_base.fake_floatingip1)"},{"line_number":98,"context_line":"        self.controller.logical_port_created(test_app_base.fake_local_port1)"},{"line_number":99,"context_line":"        self.dnat_app.delete_floatingip(test_app_base.fake_floatingip1)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        with mock.patch.object("},{"line_number":102,"context_line":"            self.dnat_app,"},{"line_number":103,"context_line":"            \u0027delete_floatingip\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5a74a57a_2cc150e5","line":100,"updated":"2016-11-23 11:43:36.000000000","message":"how about add an assert here?\n\nself.assertFalse(self.dnat_app.local_floatingips)","commit_id":"a91c8b7162b70c60b4e239205ac5db6b4e98f078"}]}
