)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"aed825839be7e27076d321f13e4423e570abfea3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Eyal Leshem \u003ceyal.leshem@toganetworks.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-15 08:56:23 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DHCP port does not have an ARP/ICMP responders"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id7054745ed214a6e441e78104db77b37c90eec68"},{"line_number":10,"context_line":"Closes-Bug: #1686108"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f436f4f_7a910df1","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":27},"updated":"2017-08-15 12:18:51.000000000","message":"Nitty but I think a better title would be \u0027Add {THIS} to {THAT}\u0027, plus add a bit more about what you did.","commit_id":"b5e8cede94250b2d4398838a119740e5334daf2f"}],"dragonflow/controller/apps/dhcp.py":[{"author":{"_account_id":23235,"name":"Lihi Wishnitzer","email":"lihiwish@gmail.com","username":"lihiwish"},"change_message_id":"af5d16334e3bd68f9cf82cccecafa2f1881e1285","unresolved":false,"context_lines":[{"line_number":473,"context_line":"        subnets \u003d lswitch.subnets"},{"line_number":474,"context_line":"        network_id \u003d lswitch.unique_key"},{"line_number":475,"context_line":"        for subnet in subnets:"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"            if not self._is_ipv4(subnet):"},{"line_number":478,"context_line":"                continue"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_80c44441","line":476,"updated":"2017-08-15 13:18:35.000000000","message":"redundant","commit_id":"b5e8cede94250b2d4398838a119740e5334daf2f"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"960366223cd3f003bd4266f884e4c22b349080a0","unresolved":false,"context_lines":[{"line_number":428,"context_line":"        self._install_dhcp_unicast_match_flow(subnet.dhcp_ip, network_id)"},{"line_number":429,"context_line":"        arp_r.ArpResponder(self, network_id, subnet.dhcp_ip,"},{"line_number":430,"context_line":"                           interface_mac\u003dsubnet.dhcp_mac).add()"},{"line_number":431,"context_line":"        icmp_r.ICMPResponder(self, subnet.dhcp_ip).add()"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def remove_dhcp_ips_flows(self, old_subnet, network_id):"},{"line_number":434,"context_line":"        print(\"was here\")"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_598077f5","line":431,"range":{"start_line":431,"start_character":35,"end_line":431,"end_character":41},"updated":"2017-08-16 12:56:04.000000000","message":"Installed by default in L3 table","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"43f19ece7cac55b48613fd7d91f9b68e2aaedc18","unresolved":false,"context_lines":[{"line_number":431,"context_line":"        icmp_r.ICMPResponder(self, subnet.dhcp_ip).add()"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def remove_dhcp_ips_flows(self, old_subnet, network_id):"},{"line_number":434,"context_line":"        print(\"was here\")"},{"line_number":435,"context_line":"        self._remove_dhcp_unicast_match_flow(network_id,"},{"line_number":436,"context_line":"                                             old_subnet.dhcp_ip)"},{"line_number":437,"context_line":"        arp_r.ArpResponder(self, network_id, old_subnet.dhcp_ip,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_e2663ded","line":434,"range":{"start_line":434,"start_character":0,"end_line":434,"end_character":25},"updated":"2017-08-17 09:20:25.000000000","message":"Should be removed.","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"43f19ece7cac55b48613fd7d91f9b68e2aaedc18","unresolved":false,"context_lines":[{"line_number":482,"context_line":"            old_dhcp_ip \u003d old_subnet.dhcp_ip if old_subnet else None"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"            if subnet.enable_dhcp:"},{"line_number":485,"context_line":"                if subnet.dhcp_ip !\u003d old_dhcp_ip:"},{"line_number":486,"context_line":"                    self._dhcp_ip_change(subnet, old_subnet, network_id)"},{"line_number":487,"context_line":"            else:"},{"line_number":488,"context_line":"                if old_dhcp_ip:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_02b14147","line":485,"range":{"start_line":485,"start_character":0,"end_line":485,"end_character":49},"updated":"2017-08-17 09:20:25.000000000","message":"Maybe also test MAC address change?","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"43f19ece7cac55b48613fd7d91f9b68e2aaedc18","unresolved":false,"context_lines":[{"line_number":492,"context_line":"            return"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"        # Clear stale dhcp ips, which belongs to the subnets that are deleted."},{"line_number":495,"context_line":"        deleted_subnets \u003d [subnet for subnet in orig_lswitch"},{"line_number":496,"context_line":"                           if subnet not in lswitch]"},{"line_number":497,"context_line":"        for subnet in deleted_subnets:"},{"line_number":498,"context_line":"            dhcp_ip \u003d subnet.dhcp_ip"},{"line_number":499,"context_line":"            if dhcp_ip:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_427ce970","line":496,"range":{"start_line":495,"start_character":26,"end_line":496,"end_character":52},"updated":"2017-08-17 09:20:25.000000000","message":"Maybe create a generator, instead of a list?","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"}],"dragonflow/controller/df_local_controller.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"43f19ece7cac55b48613fd7d91f9b68e2aaedc18","unresolved":false,"context_lines":[{"line_number":317,"context_line":"        if action \u003d\u003d ctrl_const.CONTROLLER_REINITIALIZE:"},{"line_number":318,"context_line":"            self._reset_ports()"},{"line_number":319,"context_line":"            self.db_store.clear()"},{"line_number":320,"context_line":"            port_locator.reset()"},{"line_number":321,"context_line":"            self.vswitch_api.initialize(self.nb_api)"},{"line_number":322,"context_line":"            self.sync()"},{"line_number":323,"context_line":"        elif action \u003d\u003d ctrl_const.CONTROLLER_SYNC:"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_029a61b7","line":320,"range":{"start_line":320,"start_character":0,"end_line":320,"end_character":32},"updated":"2017-08-17 09:20:25.000000000","message":"Should be removed.","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"}],"dragonflow/db/models/l2.py":[{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"aed825839be7e27076d321f13e4423e570abfea3","unresolved":false,"context_lines":[{"line_number":33,"context_line":"@mf.construct_nb_db_model"},{"line_number":34,"context_line":"class Subnet(mf.ModelBase, mixins.Name, mixins.Topic):"},{"line_number":35,"context_line":"    enable_dhcp \u003d fields.BoolField()"},{"line_number":36,"context_line":"    dhcp_ip \u003d df_fields.IpAddressField()"},{"line_number":37,"context_line":"    dhcp_mac \u003d df_fields.MacAddressField()"},{"line_number":38,"context_line":"    cidr \u003d df_fields.IpNetworkField()"},{"line_number":39,"context_line":"    gateway_ip \u003d df_fields.IpAddressField()"},{"line_number":40,"context_line":"    dns_nameservers \u003d df_fields.ListOfField(df_fields.IpAddressField())"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_3a66e52b","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":42},"updated":"2017-08-15 12:18:51.000000000","message":"Now that dhcp port is cached, why not just find it in dbstore?","commit_id":"b5e8cede94250b2d4398838a119740e5334daf2f"},{"author":{"_account_id":26131,"name":"Eyal Leshem","email":"eyal.leshem@toganetworks.com","username":"leyal"},"change_message_id":"da154f55de910a09531f191f78c0c92a937872c2","unresolved":false,"context_lines":[{"line_number":33,"context_line":"@mf.construct_nb_db_model"},{"line_number":34,"context_line":"class Subnet(mf.ModelBase, mixins.Name, mixins.Topic):"},{"line_number":35,"context_line":"    enable_dhcp \u003d fields.BoolField()"},{"line_number":36,"context_line":"    dhcp_ip \u003d df_fields.IpAddressField()"},{"line_number":37,"context_line":"    dhcp_mac \u003d df_fields.MacAddressField()"},{"line_number":38,"context_line":"    cidr \u003d df_fields.IpNetworkField()"},{"line_number":39,"context_line":"    gateway_ip \u003d df_fields.IpAddressField()"},{"line_number":40,"context_line":"    dns_nameservers \u003d df_fields.ListOfField(df_fields.IpAddressField())"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_c04dac3e","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":42},"in_reply_to":"9f436f4f_3a66e52b","updated":"2017-08-15 13:01:40.000000000","message":"Than we need to assume in the controller that the event of the port will reach before the event of the of the subnet  - or create a code that handle such-reordering. \n\nI preferred to avoid that and keep that data on the subnet..","commit_id":"b5e8cede94250b2d4398838a119740e5334daf2f"},{"author":{"_account_id":23766,"name":"Dima Kuznetsov","email":"dima.kuznetsov@toganetworks.com","username":"dimak"},"change_message_id":"5798c1844be071c12c0fda66040ea19cc3098ccc","unresolved":false,"context_lines":[{"line_number":33,"context_line":"@mf.construct_nb_db_model"},{"line_number":34,"context_line":"class Subnet(mf.ModelBase, mixins.Name, mixins.Topic):"},{"line_number":35,"context_line":"    enable_dhcp \u003d fields.BoolField()"},{"line_number":36,"context_line":"    dhcp_ip \u003d df_fields.IpAddressField()"},{"line_number":37,"context_line":"    dhcp_mac \u003d df_fields.MacAddressField()"},{"line_number":38,"context_line":"    cidr \u003d df_fields.IpNetworkField()"},{"line_number":39,"context_line":"    gateway_ip \u003d df_fields.IpAddressField()"},{"line_number":40,"context_line":"    dns_nameservers \u003d df_fields.ListOfField(df_fields.IpAddressField())"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f436f4f_f684f1d4","line":37,"range":{"start_line":36,"start_character":0,"end_line":37,"end_character":42},"in_reply_to":"9f436f4f_c04dac3e","updated":"2017-08-15 16:44:00.000000000","message":"Maybe should change it to hold a reference to the dhcp port.. Then the server can handle it later on if reordering is an issue (by fetching all referenced objects before processing the event).","commit_id":"b5e8cede94250b2d4398838a119740e5334daf2f"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"43f19ece7cac55b48613fd7d91f9b68e2aaedc18","unresolved":false,"context_lines":[{"line_number":34,"context_line":"class Subnet(mf.ModelBase, mixins.Name, mixins.Topic):"},{"line_number":35,"context_line":"    enable_dhcp \u003d fields.BoolField()"},{"line_number":36,"context_line":"    dhcp_ip \u003d df_fields.IpAddressField()"},{"line_number":37,"context_line":"    dhcp_mac \u003d df_fields.MacAddressField()"},{"line_number":38,"context_line":"    cidr \u003d df_fields.IpNetworkField()"},{"line_number":39,"context_line":"    gateway_ip \u003d df_fields.IpAddressField()"},{"line_number":40,"context_line":"    dns_nameservers \u003d df_fields.ListOfField(df_fields.IpAddressField())"}],"source_content_type":"text/x-python","patch_set":3,"id":"9f436f4f_a28a7560","line":37,"updated":"2017-08-17 09:20:25.000000000","message":"Maybe have a dhcp_lport, which points to the dhcp lport? It contains all the needed info.","commit_id":"24024ca2a71753f88d29df91559a58780b6d9a43"}]}
