)]}'
{"dragonflow/controller/dhcp_app.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"6c2c5fc70c1d3cfefa8554590911dd3fdf04e8f8","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                                  const.PRIORITY_DEFAULT,"},{"line_number":92,"context_line":"                                  const.L2_LOOKUP_TABLE)"},{"line_number":93,"context_line":"        self.subnet_vm_port_map.clear()"},{"line_number":94,"context_line":"        # TODO(gampel) handle network changes"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def packet_in_handler(self, event):"},{"line_number":97,"context_line":"        msg \u003d event.msg"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_7892784d","line":94,"updated":"2016-11-10 22:34:37.000000000","message":"Is this TODO still needed?","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"0dd72e0404c35960028a3a0cc5e46d9b6a4b605e","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                                  const.PRIORITY_DEFAULT,"},{"line_number":92,"context_line":"                                  const.L2_LOOKUP_TABLE)"},{"line_number":93,"context_line":"        self.subnet_vm_port_map.clear()"},{"line_number":94,"context_line":"        # TODO(gampel) handle network changes"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def packet_in_handler(self, event):"},{"line_number":97,"context_line":"        msg \u003d event.msg"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_86a4214b","line":94,"in_reply_to":"9a629dbe_7892784d","updated":"2016-11-12 07:57:29.000000000","message":"I think the intention for this comment is to handle the network change during the openflow controller disconnection. It is still needed, and should be resolved in another patch, for example\n\nhttps://review.openstack.org/#/c/378193/","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"dae1e1b44d363d6cc50ae5a48338eee9e7fe6f66","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            LOG.warning(_LW(\"No support for non IPv4 protocol\"))"},{"line_number":418,"context_line":"            return"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        if not self._is_port_a_vm(lport):"},{"line_number":421,"context_line":"            return"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"        subnet_id \u003d lport.get_subnets()[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_1d0bf32c","line":420,"range":{"start_line":420,"start_character":20,"end_line":420,"end_character":33},"updated":"2016-11-13 12:58:39.000000000","message":"confused method name, maybe _is_a_vm_port or _is_vm_port is better?","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"02300f031c2b29111bbba850c96b33a3c8d46c69","unresolved":false,"context_lines":[{"line_number":417,"context_line":"            LOG.warning(_LW(\"No support for non IPv4 protocol\"))"},{"line_number":418,"context_line":"            return"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        if not self._is_port_a_vm(lport):"},{"line_number":421,"context_line":"            return"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"        subnet_id \u003d lport.get_subnets()[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_834881ce","line":420,"range":{"start_line":420,"start_character":20,"end_line":420,"end_character":33},"in_reply_to":"9a629dbe_1d0bf32c","updated":"2016-11-14 12:07:57.000000000","message":"It is not related to this patch, but I think it is ok to change it in this patch, as it is trivial. So will follow your suggestion in next PS","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"dae1e1b44d363d6cc50ae5a48338eee9e7fe6f66","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                                  const.PRIORITY_MEDIUM,"},{"line_number":562,"context_line":"                                  const.DHCP_TABLE, match\u003dmatch)"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    def _install_dhcp_flow_for_vm_in_sunbet(self, subnet_id):"},{"line_number":565,"context_line":"        local_ports \u003d self.subnet_vm_port_map[subnet_id]"},{"line_number":566,"context_line":"        for p_id in local_ports:"},{"line_number":567,"context_line":"            port \u003d self.db_store.get_local_port(p_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_1d5db348","line":564,"range":{"start_line":564,"start_character":37,"end_line":564,"end_character":43},"updated":"2016-11-13 12:58:39.000000000","message":"typo","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"02300f031c2b29111bbba850c96b33a3c8d46c69","unresolved":false,"context_lines":[{"line_number":561,"context_line":"                                  const.PRIORITY_MEDIUM,"},{"line_number":562,"context_line":"                                  const.DHCP_TABLE, match\u003dmatch)"},{"line_number":563,"context_line":""},{"line_number":564,"context_line":"    def _install_dhcp_flow_for_vm_in_sunbet(self, subnet_id):"},{"line_number":565,"context_line":"        local_ports \u003d self.subnet_vm_port_map[subnet_id]"},{"line_number":566,"context_line":"        for p_id in local_ports:"},{"line_number":567,"context_line":"            port \u003d self.db_store.get_local_port(p_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_c310b9ae","line":564,"range":{"start_line":564,"start_character":37,"end_line":564,"end_character":43},"in_reply_to":"9a629dbe_1d5db348","updated":"2016-11-14 12:07:57.000000000","message":"Done","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":20287,"name":"hujie","email":"mike.hu@huawei.com","username":"hujie"},"change_message_id":"dae1e1b44d363d6cc50ae5a48338eee9e7fe6f66","unresolved":false,"context_lines":[{"line_number":568,"context_line":"            if port:"},{"line_number":569,"context_line":"                self._install_dhcp_flow_for_vm_port(port)"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def _uninstall_dhcp_flow_for_vm_in_sunbet(self, subnet_id):"},{"line_number":572,"context_line":"        local_ports \u003d self.subnet_vm_port_map[subnet_id]"},{"line_number":573,"context_line":"        for p_id in local_ports:"},{"line_number":574,"context_line":"            port \u003d self.db_store.get_local_port(p_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_5d2e4ba6","line":571,"range":{"start_line":571,"start_character":39,"end_line":571,"end_character":45},"updated":"2016-11-13 12:58:39.000000000","message":"ditto","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"02300f031c2b29111bbba850c96b33a3c8d46c69","unresolved":false,"context_lines":[{"line_number":568,"context_line":"            if port:"},{"line_number":569,"context_line":"                self._install_dhcp_flow_for_vm_port(port)"},{"line_number":570,"context_line":""},{"line_number":571,"context_line":"    def _uninstall_dhcp_flow_for_vm_in_sunbet(self, subnet_id):"},{"line_number":572,"context_line":"        local_ports \u003d self.subnet_vm_port_map[subnet_id]"},{"line_number":573,"context_line":"        for p_id in local_ports:"},{"line_number":574,"context_line":"            port \u003d self.db_store.get_local_port(p_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_e315bd9b","line":571,"range":{"start_line":571,"start_character":39,"end_line":571,"end_character":45},"in_reply_to":"9a629dbe_5d2e4ba6","updated":"2016-11-14 12:07:57.000000000","message":"Done","commit_id":"9ecbecee1c3a3c88b299e10830c0c375114b0cde"}],"dragonflow/tests/common/app_testing_objects.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"539127bfb4299aba938239a73e783c761c5bdb9f","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            self._is_closed \u003d True"},{"line_number":115,"context_line":"            self.delete()"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def create_subnet(self, **kwargs):"},{"line_number":118,"context_line":"        \"\"\"Create a subnet in this topology, with the given subnet address"},{"line_number":119,"context_line":"        range."},{"line_number":120,"context_line":"        :param cidr: The subnet\u0027s address range, in form \u003cIP\u003e/\u003cmask len\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_896a5b19","line":117,"updated":"2016-11-23 09:55:30.000000000","message":"I think it would be better to keep cidr\u003d..., in addition to kwargs. This way, the Subnet API does not change.","commit_id":"7dea9159a11700e582a814b80a134281118cb3a3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"57f3a1a18328a37dfd7c888559627ed496786813","unresolved":false,"context_lines":[{"line_number":114,"context_line":"            self._is_closed \u003d True"},{"line_number":115,"context_line":"            self.delete()"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    def create_subnet(self, **kwargs):"},{"line_number":118,"context_line":"        \"\"\"Create a subnet in this topology, with the given subnet address"},{"line_number":119,"context_line":"        range."},{"line_number":120,"context_line":"        :param cidr: The subnet\u0027s address range, in form \u003cIP\u003e/\u003cmask len\u003e"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_49473abb","line":117,"in_reply_to":"5a74a57a_896a5b19","updated":"2016-11-23 23:27:19.000000000","message":"Done","commit_id":"7dea9159a11700e582a814b80a134281118cb3a3"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"539127bfb4299aba938239a73e783c761c5bdb9f","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            self.topology.network.network_id"},{"line_number":161,"context_line":"        )"},{"line_number":162,"context_line":"        cidr \u003d kwargs[\u0027cidr\u0027]"},{"line_number":163,"context_line":"        enable_dhcp \u003d (kwargs[\u0027enable_dhcp\u0027] if \u0027enable_dhcp\u0027 in kwargs"},{"line_number":164,"context_line":"                       else True)"},{"line_number":165,"context_line":"        self.subnet.create(subnet\u003d{"},{"line_number":166,"context_line":"            \u0027cidr\u0027: cidr,"},{"line_number":167,"context_line":"            \u0027enable_dhcp\u0027: enable_dhcp,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_a94e37bf","line":164,"range":{"start_line":163,"start_character":0,"end_line":164,"end_character":33},"updated":"2016-11-23 09:55:30.000000000","message":"Why not just use:\nenable_dhcp \u003d kwargs.get(\u0027enable_dhcp\u0027, True) ?","commit_id":"7dea9159a11700e582a814b80a134281118cb3a3"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"57f3a1a18328a37dfd7c888559627ed496786813","unresolved":false,"context_lines":[{"line_number":160,"context_line":"            self.topology.network.network_id"},{"line_number":161,"context_line":"        )"},{"line_number":162,"context_line":"        cidr \u003d kwargs[\u0027cidr\u0027]"},{"line_number":163,"context_line":"        enable_dhcp \u003d (kwargs[\u0027enable_dhcp\u0027] if \u0027enable_dhcp\u0027 in kwargs"},{"line_number":164,"context_line":"                       else True)"},{"line_number":165,"context_line":"        self.subnet.create(subnet\u003d{"},{"line_number":166,"context_line":"            \u0027cidr\u0027: cidr,"},{"line_number":167,"context_line":"            \u0027enable_dhcp\u0027: enable_dhcp,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a74a57a_e9264615","line":164,"range":{"start_line":163,"start_character":0,"end_line":164,"end_character":33},"in_reply_to":"5a74a57a_a94e37bf","updated":"2016-11-23 23:27:19.000000000","message":"Done","commit_id":"7dea9159a11700e582a814b80a134281118cb3a3"}]}
