)]}'
{"dragonflow/controller/apps/chassis_snat.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"a11ad94a77e0032bf0da30254619119f785e0017","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        LOG.info(\"Loading SNAT application ... \")"},{"line_number":41,"context_line":"        self.external_network_bridge \u003d ("},{"line_number":42,"context_line":"            cfg.CONF.df_snat_app.external_network_bridge)"},{"line_number":43,"context_line":"        self.external_bridge_mac \u003d self.vswitch_api.get_port_mac_in_use("},{"line_number":44,"context_line":"                self.external_network_bridge) or const.EMPTY_MAC"},{"line_number":45,"context_line":"        self.chassis \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # new application configuration"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff346bd7_a79c1cc0","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":64},"updated":"2017-07-27 10:45:05.000000000","message":"Needed before switch features handler?","commit_id":"ebe78138bd38c11a2db1ca09a73a7f3793ed9e4e"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"02db4ecd9f147a2d577c26047ab4d9f13f0ad77b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        LOG.info(\"Loading SNAT application ... \")"},{"line_number":41,"context_line":"        self.external_network_bridge \u003d ("},{"line_number":42,"context_line":"            cfg.CONF.df_snat_app.external_network_bridge)"},{"line_number":43,"context_line":"        self.external_bridge_mac \u003d self.vswitch_api.get_port_mac_in_use("},{"line_number":44,"context_line":"                self.external_network_bridge) or const.EMPTY_MAC"},{"line_number":45,"context_line":"        self.chassis \u003d None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # new application configuration"}],"source_content_type":"text/x-python","patch_set":20,"id":"ff346bd7_058abdbd","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":64},"in_reply_to":"ff346bd7_a79c1cc0","updated":"2017-07-27 10:47:59.000000000","message":"Yes. It is used in ovs_port_updated, which may be called before the switch_features_handler in a controller restart scenario.","commit_id":"ebe78138bd38c11a2db1ca09a73a7f3793ed9e4e"}],"dragonflow/controller/snat_app_mixin.py":[{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"b04741d883ac4d940d0f90acb4bb335437c4f4ba","unresolved":false,"context_lines":[{"line_number":249,"context_line":"            match\u003dmatch)"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        actions \u003d [self.parser.OFPActionOutput("},{"line_number":252,"context_line":"                self.external_ofport, self.ofproto.OFPCML_NO_BUFFER)]"},{"line_number":253,"context_line":"        self.mod_flow("},{"line_number":254,"context_line":"            actions\u003dactions,"},{"line_number":255,"context_line":"            table_id\u003dconst.INGRESS_DISPATCH_TABLE,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff346bd7_15528068","line":252,"range":{"start_line":252,"start_character":51,"end_line":252,"end_character":67},"updated":"2017-07-23 15:23:19.000000000","message":"IS that relevant only to the test?","commit_id":"ad502dc6f3c03ac13de09c82167548dee32357a1"}],"dragonflow/tests/fullstack/test_apps.py":[{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"b04741d883ac4d940d0f90acb4bb335437c4f4ba","unresolved":false,"context_lines":[{"line_number":2684,"context_line":""},{"line_number":2685,"context_line":"        snat_veth1_device.route.add_gateway(\u002710.0.1.1\u0027)"},{"line_number":2686,"context_line":""},{"line_number":2687,"context_line":"        time.sleep(10)"},{"line_number":2688,"context_line":""},{"line_number":2689,"context_line":"    def tearDown(self):"},{"line_number":2690,"context_line":"        ipwrapper \u003d ip_lib.IPWrapper()"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff346bd7_f5d93c22","line":2687,"updated":"2017-07-23 15:23:19.000000000","message":"const.DEFAULT_RESOURCE_READY_TIMEOUT?  - or amybe other const ?","commit_id":"ad502dc6f3c03ac13de09c82167548dee32357a1"}]}
