)]}'
{"dragonflow/controller/l2_ml2_app.py":[{"author":{"_account_id":18462,"name":"Rahul U Nair","email":"rahulunair@gmail.com","username":"rahulunair"},"change_message_id":"c180ccb040216da8944639d78f6f763141a631b5","unresolved":false,"context_lines":[{"line_number":924,"context_line":"        # Ingress"},{"line_number":925,"context_line":"        # Match: dl_vlan\u003dvlan_id,"},{"line_number":926,"context_line":"        # Actions: metadata\u003dnetwork_id,"},{"line_number":927,"context_line":"        # goto \u0027Destiantion Port Classification\u0027"},{"line_number":928,"context_line":"        match \u003d parser.OFPMatch()"},{"line_number":929,"context_line":"        match.set_vlan_vid(segmentation_id)"},{"line_number":930,"context_line":"        actions \u003d [parser.OFPActionSetField(metadata\u003dlocal_network_id),"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_564aff55","line":927,"range":{"start_line":927,"start_character":16,"end_line":927,"end_character":27},"updated":"2016-07-30 15:04:40.000000000","message":"nit: Destination","commit_id":"821e51f53677af55a7b1056ffee87758933f21fe"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"093035f0582b422d38cf6d3306bcb8b59d82181c","unresolved":false,"context_lines":[{"line_number":979,"context_line":""},{"line_number":980,"context_line":"        # Ingress"},{"line_number":981,"context_line":"        # Flat: Match: vlan_tci\u003d0,"},{"line_number":982,"context_line":"        # Actions: metadta\u003dnetwork_id, goto \u0027Destiantion Port Classification\u0027"},{"line_number":983,"context_line":"        match \u003d parser.OFPMatch(vlan_vid\u003d(0x0000 \u0026 0xffff))"},{"line_number":984,"context_line":"        actions \u003d [parser.OFPActionSetField(metadata\u003dlocal_network_id)]"},{"line_number":985,"context_line":"        action_inst \u003d parser.OFPInstructionActions("}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_40e19999","line":982,"range":{"start_line":982,"start_character":45,"end_line":982,"end_character":56},"updated":"2016-07-30 14:16:57.000000000","message":"Destination","commit_id":"821e51f53677af55a7b1056ffee87758933f21fe"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"093035f0582b422d38cf6d3306bcb8b59d82181c","unresolved":false,"context_lines":[{"line_number":979,"context_line":""},{"line_number":980,"context_line":"        # Ingress"},{"line_number":981,"context_line":"        # Flat: Match: vlan_tci\u003d0,"},{"line_number":982,"context_line":"        # Actions: metadta\u003dnetwork_id, goto \u0027Destiantion Port Classification\u0027"},{"line_number":983,"context_line":"        match \u003d parser.OFPMatch(vlan_vid\u003d(0x0000 \u0026 0xffff))"},{"line_number":984,"context_line":"        actions \u003d [parser.OFPActionSetField(metadata\u003dlocal_network_id)]"},{"line_number":985,"context_line":"        action_inst \u003d parser.OFPInstructionActions("}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_60e49dab","line":982,"range":{"start_line":982,"start_character":19,"end_line":982,"end_character":26},"updated":"2016-07-30 14:16:57.000000000","message":"metadata","commit_id":"821e51f53677af55a7b1056ffee87758933f21fe"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"294000d2d842f2a325f0a7ea6fe89a1284e5752b","unresolved":false,"context_lines":[{"line_number":878,"context_line":"    \"\"\""},{"line_number":879,"context_line":"    Install network flows for vlan"},{"line_number":880,"context_line":"    \"\"\""},{"line_number":881,"context_line":"    def _install_network_flows_for_vlan(self,"},{"line_number":882,"context_line":"                                        segmentation_id,"},{"line_number":883,"context_line":"                                        local_network_id):"},{"line_number":884,"context_line":"        LOG.info(_LI(\"Install network flows on first vlan up\"))"},{"line_number":885,"context_line":""},{"line_number":886,"context_line":"        # L2_LOOKUP for Remote ports"},{"line_number":887,"context_line":"        datapath \u003d self.get_datapath()"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_9edce4e5","line":884,"range":{"start_line":881,"start_character":0,"end_line":884,"end_character":63},"updated":"2016-08-22 01:21:19.000000000","message":"This and some other changes below seems like some refactor of vlan network code. I think it is better to move them to this patch \n\nhttps://review.openstack.org/#/c/340789/10","commit_id":"ca18ced3b4b4ec52a2b4d69dcdbdf0638a4213e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":962,"context_line":"            match\u003dmatch)"},{"line_number":963,"context_line":""},{"line_number":964,"context_line":"        # EGRESS for Remote ports"},{"line_number":965,"context_line":"        # Table\u003dEgress"},{"line_number":966,"context_line":"        # Match: metadata\u003dnetwork_id"},{"line_number":967,"context_line":"        # Actions: goto: egress_external_table"},{"line_number":968,"context_line":"        match \u003d parser.OFPMatch(metadata\u003dlocal_network_id)"},{"line_number":969,"context_line":"        goto_inst \u003d parser.OFPInstructionGotoTable(const.EGRESS_EXTERNAL_TABLE)"},{"line_number":970,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_1d2674ba","line":967,"range":{"start_line":965,"start_character":0,"end_line":967,"end_character":46},"updated":"2016-09-04 18:14:00.000000000","message":"These comments are not needed. (The first line, \u0027EGRESS for Remote ports\u0027 is useful though.)","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":977,"context_line":"            match\u003dmatch)"},{"line_number":978,"context_line":""},{"line_number":979,"context_line":"        # Ingress"},{"line_number":980,"context_line":"        # Flat: Match: vlan_tci\u003d0,"},{"line_number":981,"context_line":"        # Actions: metadata\u003dnetwork_id, goto \u0027Destination Port Classification\u0027"},{"line_number":982,"context_line":"        match \u003d parser.OFPMatch(vlan_vid\u003d(0x0000 \u0026 0xffff))"},{"line_number":983,"context_line":"        actions \u003d [parser.OFPActionSetField(metadata\u003dlocal_network_id)]"},{"line_number":984,"context_line":"        action_inst \u003d parser.OFPInstructionActions("}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_7d25c0a9","line":981,"range":{"start_line":980,"start_character":0,"end_line":981,"end_character":78},"updated":"2016-09-04 18:14:00.000000000","message":"These two comment lines are not needed.","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":979,"context_line":"        # Ingress"},{"line_number":980,"context_line":"        # Flat: Match: vlan_tci\u003d0,"},{"line_number":981,"context_line":"        # Actions: metadata\u003dnetwork_id, goto \u0027Destination Port Classification\u0027"},{"line_number":982,"context_line":"        match \u003d parser.OFPMatch(vlan_vid\u003d(0x0000 \u0026 0xffff))"},{"line_number":983,"context_line":"        actions \u003d [parser.OFPActionSetField(metadata\u003dlocal_network_id)]"},{"line_number":984,"context_line":"        action_inst \u003d parser.OFPInstructionActions("},{"line_number":985,"context_line":"            ofproto.OFPIT_APPLY_ACTIONS, actions)"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_dd340ce0","line":982,"range":{"start_line":982,"start_character":41,"end_line":982,"end_character":58},"updated":"2016-09-04 18:14:00.000000000","message":"This can be written just as vlan_vid\u003d0","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":1028,"context_line":"        datapath \u003d self.get_datapath()"},{"line_number":1029,"context_line":"        parser \u003d datapath.ofproto_parser"},{"line_number":1030,"context_line":"        ofproto \u003d datapath.ofproto"},{"line_number":1031,"context_line":"        match \u003d parser.OFPMatch(vlan_vid\u003d(0x0000 \u0026 0xffff))"},{"line_number":1032,"context_line":"        self.mod_flow("},{"line_number":1033,"context_line":"            datapath\u003ddatapath,"},{"line_number":1034,"context_line":"            table_id\u003dconst.INGRESS_CLASSIFICATION_DISPATCH_TABLE,"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_7081674a","line":1031,"range":{"start_line":1031,"start_character":41,"end_line":1031,"end_character":58},"updated":"2016-09-04 18:14:00.000000000","message":"This can be written as 0.","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"}],"dragonflow/tests/fullstack/test_ml2_l2_flows.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"294000d2d842f2a325f0a7ea6fe89a1284e5752b","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        if network_vlan_ranges is None:"},{"line_number":99,"context_line":"            return"},{"line_number":100,"context_line":"        network_vlan_range_list \u003d network_vlan_ranges.split(\u0027,\u0027)"},{"line_number":101,"context_line":"        if network_vlan_range_list is None \\"},{"line_number":102,"context_line":"                or len(network_vlan_range_list) \u003d\u003d 0:"},{"line_number":103,"context_line":"            return"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        network_vlan_range \u003d network_vlan_range_list[0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_dee65cb3","line":102,"range":{"start_line":101,"start_character":8,"end_line":102,"end_character":53},"updated":"2016-08-22 01:21:19.000000000","message":"nit: you could use \"if not network_vlan_range_list\". And this could move to https://review.openstack.org/#/c/340789/\n\nto make code clean.","commit_id":"ca18ced3b4b4ec52a2b4d69dcdbdf0638a4213e9"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"294000d2d842f2a325f0a7ea6fe89a1284e5752b","unresolved":false,"context_lines":[{"line_number":284,"context_line":"            return"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        flat_networks_list \u003d flat_networks.split(\u0027,\u0027)"},{"line_number":287,"context_line":"        if flat_networks_list is None or len(flat_networks_list) \u003d\u003d 0:"},{"line_number":288,"context_line":"            return"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        flat_network \u003d flat_networks_list[0]"}],"source_content_type":"text/x-python","patch_set":8,"id":"1ac06dbe_7efe4839","line":287,"range":{"start_line":287,"start_character":8,"end_line":287,"end_character":70},"updated":"2016-08-22 01:21:19.000000000","message":"ditto","commit_id":"ca18ced3b4b4ec52a2b4d69dcdbdf0638a4213e9"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":281,"context_line":"        flat_networks \u003d self._get_config_values(\u0027ml2_type_flat\u0027,"},{"line_number":282,"context_line":"                                                \u0027flat_networks\u0027)"},{"line_number":283,"context_line":"        if flat_networks is None:"},{"line_number":284,"context_line":"            return"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        flat_networks_list \u003d flat_networks.split(\u0027,\u0027)"},{"line_number":287,"context_line":"        if not flat_networks_list:"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_90dd0b73","line":284,"updated":"2016-09-04 18:14:00.000000000","message":"This should raise an error. If there is a configuration error on the gate, we want it to jump out.","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"ea8673ce1d4f9736d652f8369d4a033816a8a841","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        flat_networks_list \u003d flat_networks.split(\u0027,\u0027)"},{"line_number":287,"context_line":"        if not flat_networks_list:"},{"line_number":288,"context_line":"            return"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"        flat_network \u003d flat_networks_list[0]"},{"line_number":291,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_b0da0f77","line":288,"updated":"2016-09-04 18:14:00.000000000","message":"Same here","commit_id":"afa6e44f4769dff07f7694ab51b2f934e2129367"}]}
