)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2ab8391c580c473291ff9216b16d43b53a40dfa3","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"ovs: handle segmentation ids per network ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is change the datastructure that maintains the relationship"},{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f8edcdc_f8e37c06","line":9,"range":{"start_line":9,"start_character":5,"end_line":9,"end_character":14},"updated":"2022-05-24 09:12:12.000000000","message":"nit: changes?","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa058c2fbe25f2fdd52f317a784672670fa9570c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"ovs: handle segmentation ids per network ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is change the datastructure that maintains the relationship"},{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"b069633e_0f0b5eb6","line":9,"range":{"start_line":9,"start_character":5,"end_line":9,"end_character":14},"in_reply_to":"5f8edcdc_f8e37c06","updated":"2022-07-01 10:57:04.000000000","message":"Done","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2ab8391c580c473291ff9216b16d43b53a40dfa3","unresolved":true,"context_lines":[{"line_number":7,"context_line":"ovs: handle segmentation ids per network ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is change the datastructure that maintains the relationship"},{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"},{"line_number":13,"context_line":"networks on a same physical provider network."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"0690227e_d549acb7","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":25},"updated":"2022-05-24 09:12:12.000000000","message":"nit: networks","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa058c2fbe25f2fdd52f317a784672670fa9570c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"ovs: handle segmentation ids per network ports"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is change the datastructure that maintains the relationship"},{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"},{"line_number":13,"context_line":"networks on a same physical provider network."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"216c6c86_b5bf1080","line":10,"range":{"start_line":10,"start_character":18,"end_line":10,"end_character":25},"in_reply_to":"0690227e_d549acb7","updated":"2022-07-01 10:57:04.000000000","message":"Done","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2ab8391c580c473291ff9216b16d43b53a40dfa3","unresolved":true,"context_lines":[{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"},{"line_number":13,"context_line":"networks on a same physical provider network."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Partial-Bug: #1956435"},{"line_number":16,"context_line":"Partial-Bug: #1764738"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"46b3419f_769e8ac1","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":13},"updated":"2022-05-24 09:12:12.000000000","message":"nit: the","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa058c2fbe25f2fdd52f317a784672670fa9570c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"between ports and network to also handle segmenation id related."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This will be necessary in future to support multiple segments per"},{"line_number":13,"context_line":"networks on a same physical provider network."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Partial-Bug: #1956435"},{"line_number":16,"context_line":"Partial-Bug: #1764738"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"b1723bd8_de3e7fe9","line":13,"range":{"start_line":13,"start_character":12,"end_line":13,"end_character":13},"in_reply_to":"46b3419f_769e8ac1","updated":"2022-07-01 10:57:04.000000000","message":"Done","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bc9822b7e1152977c3fdd9209685b244049e0c45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"db0ece57_ca64492f","updated":"2022-04-27 07:43:09.000000000","message":"I\u0027m ok with this code but agent side is always done after the server side.","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"bd0fec442c800835261c3859d2f8d951e0f1eb9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"27f9ab68_11ac88af","in_reply_to":"db0ece57_ca64492f","updated":"2022-04-27 12:29:01.000000000","message":"Thanks Rodolfo having look at it, your help will be more that appreciated. Let me give to you the idea of how i feel i will conduct the job so you can then correct me if I\u0027m wrong.\n\nServer side already handles more that one segment per provider network. That is said, we will have to remove two restrictions: One is a constraint of unity added during yoga in table networksegments, The other is an exception on the object Subnet that is making the same kind of restriction.\n\nThe big part that is missing is on the DHCP agent. We will have to add an interface per local vlan.\n\nSo once we have the agent able to handle more than one local vlan, we should be able to make the necessary changes for DHCP agent, and finally enable the feature from the server side.","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"acf36e0dbebcf9a6199936bc909b5c1078d69fe8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a30f7a25_4cf90e0a","updated":"2022-05-09 09:36:03.000000000","message":"recheck functional test_dvr_update_gateway_port_with_no_gw_port_in_namespace","commit_id":"faa9e442530f805b6c5533ef764db0701f5f8ba0"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"43cc43cdc5ba30b86580dfebd11961ae58f53364","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7f0073f9_9f94d07c","updated":"2022-05-12 05:58:06.000000000","message":"recheck","commit_id":"3260ec21ac4299fec5cc360e9bb7c5ed40fca512"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f27db0a756a9a4c856cf46a8a9b75690a779a088","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3c513900_c9466fd3","updated":"2022-05-27 08:07:50.000000000","message":"Are you aware that since [1] it is possible to change the segmentation ID of an OVS bound port? You should consider that in this patch.\n\n[1]https://review.opendev.org/c/openstack/neutron/+/632984","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8759776f6100f89e9e5d51e399c4d33809c9b3ab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b6bd37a2_2a823d3d","in_reply_to":"0163b399_b49c11e3","updated":"2022-06-01 05:15:09.000000000","message":"I have double checked, The current behavior stay the same, from my understanding there are no changes in the server side. We are just updating in-memory datastructure, RPC input/output are staying the same.\n\nServer side changes are at the end to remove the restriction that disallow having multiple segments for a network.","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"52d5911ada24a59a6b610a63272bbf9b1757398f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0163b399_b49c11e3","in_reply_to":"19fb5298_1734ffc8","updated":"2022-05-31 11:08:44.000000000","message":"OK, but if we reach this point, the server and the agent will be out of sync. In order to merged these patches, we need first the server side.","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6269f54dba9631fb5609117dd9a54cceaaffdb11","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"19fb5298_1734ffc8","in_reply_to":"3c513900_c9466fd3","updated":"2022-05-31 08:55:11.000000000","message":"Thanks for this comment. I do handle this in this patch [0], does that make sense for you ?\n\n[0] https://review.opendev.org/c/openstack/neutron/+/839479/7/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"}],"neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bc9822b7e1152977c3fdd9209685b244049e0c45","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        self.current_smartnic_ports_map \u003d {}"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Data structure that is storing ports which belong to a segmentation"},{"line_number":212,"context_line":"        # id of a network."},{"line_number":213,"context_line":"        self.network_ports \u003d collections.defaultdict("},{"line_number":214,"context_line":"            lambda: collections.defaultdict(set))"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2fccbbe8_0738c2e3","line":212,"range":{"start_line":212,"start_character":18,"end_line":212,"end_character":25},"updated":"2022-04-27 07:43:09.000000000","message":"It is useful in this case to add an example of structure. E.g.:\n\nself.network_ports \u003d {network_id_1: {seg_id_1: {port_1, port_2},\n                                     seg_id_2: {port_3, port_3}},\n                      network_id_2: ... }","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2ab8391c580c473291ff9216b16d43b53a40dfa3","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        self.current_smartnic_ports_map \u003d {}"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Data structure that is storing ports which belong to a segmentation"},{"line_number":212,"context_line":"        # id of a network."},{"line_number":213,"context_line":"        self.network_ports \u003d collections.defaultdict("},{"line_number":214,"context_line":"            lambda: collections.defaultdict(set))"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3d7d6185_e0f851f1","line":212,"range":{"start_line":212,"start_character":18,"end_line":212,"end_character":25},"in_reply_to":"0e13e3f0_221d6a72","updated":"2022-05-24 09:12:12.000000000","message":"it is much better with the example structure","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"bd0fec442c800835261c3859d2f8d951e0f1eb9e","unresolved":true,"context_lines":[{"line_number":209,"context_line":"        self.current_smartnic_ports_map \u003d {}"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Data structure that is storing ports which belong to a segmentation"},{"line_number":212,"context_line":"        # id of a network."},{"line_number":213,"context_line":"        self.network_ports \u003d collections.defaultdict("},{"line_number":214,"context_line":"            lambda: collections.defaultdict(set))"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0e13e3f0_221d6a72","line":212,"range":{"start_line":212,"start_character":18,"end_line":212,"end_character":25},"in_reply_to":"2fccbbe8_0738c2e3","updated":"2022-04-27 12:29:01.000000000","message":"Sure I will add that.","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa058c2fbe25f2fdd52f317a784672670fa9570c","unresolved":false,"context_lines":[{"line_number":209,"context_line":"        self.current_smartnic_ports_map \u003d {}"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # Data structure that is storing ports which belong to a segmentation"},{"line_number":212,"context_line":"        # id of a network."},{"line_number":213,"context_line":"        self.network_ports \u003d collections.defaultdict("},{"line_number":214,"context_line":"            lambda: collections.defaultdict(set))"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e653a5a3_ffad98f6","line":212,"range":{"start_line":212,"start_character":18,"end_line":212,"end_character":25},"in_reply_to":"3d7d6185_e0f851f1","updated":"2022-07-01 10:57:04.000000000","message":"Done","commit_id":"954e22885f38d3955163e3578fc1b5f8037a3b3b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9681279798275a25e00d4a1170a3e706165d1178","unresolved":true,"context_lines":[{"line_number":699,"context_line":"                port_set.remove(port_id)"},{"line_number":700,"context_line":"                break"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"    def _get_port_local_vlan(self, port_id):"},{"line_number":703,"context_line":"        for network_id, port_set in self.network_ports.items():"},{"line_number":704,"context_line":"            if port_id in port_set:"},{"line_number":705,"context_line":"                lvm \u003d self.vlan_manager.get(network_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7ecdf7a7_192270ee","side":"PARENT","line":702,"range":{"start_line":702,"start_character":8,"end_line":702,"end_character":28},"updated":"2022-05-27 08:03:28.000000000","message":"This removal is unrelated","commit_id":"5190cd44c7336c8ae0a1aeb6d2709a802e937f79"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"36b3aa2b28ab6727c017000cf315627d768d086c","unresolved":false,"context_lines":[{"line_number":699,"context_line":"                port_set.remove(port_id)"},{"line_number":700,"context_line":"                break"},{"line_number":701,"context_line":""},{"line_number":702,"context_line":"    def _get_port_local_vlan(self, port_id):"},{"line_number":703,"context_line":"        for network_id, port_set in self.network_ports.items():"},{"line_number":704,"context_line":"            if port_id in port_set:"},{"line_number":705,"context_line":"                lvm \u003d self.vlan_manager.get(network_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"d21b023a_a2909724","side":"PARENT","line":702,"range":{"start_line":702,"start_character":8,"end_line":702,"end_character":28},"in_reply_to":"7ecdf7a7_192270ee","updated":"2022-06-17 07:27:21.000000000","message":"Done https://review.opendev.org/c/openstack/neutron/+/846275/1","commit_id":"5190cd44c7336c8ae0a1aeb6d2709a802e937f79"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9681279798275a25e00d4a1170a3e706165d1178","unresolved":true,"context_lines":[{"line_number":2025,"context_line":"                migrating_devices)"},{"line_number":2026,"context_line":""},{"line_number":2027,"context_line":"    def _update_port_network(self, port_id, network_id, segmentation_id):"},{"line_number":2028,"context_line":"        # TODO(sahid): This clean_network_ports should accept a net-id/seg_id."},{"line_number":2029,"context_line":"        self._clean_network_ports(port_id)"},{"line_number":2030,"context_line":"        self.network_ports[network_id][segmentation_id].add(port_id)"},{"line_number":2031,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a9cd3a3_09332296","line":2028,"range":{"start_line":2028,"start_character":8,"end_line":2028,"end_character":78},"updated":"2022-05-27 08:03:28.000000000","message":"Why don\u0027t you change it now?","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"fa058c2fbe25f2fdd52f317a784672670fa9570c","unresolved":false,"context_lines":[{"line_number":2025,"context_line":"                migrating_devices)"},{"line_number":2026,"context_line":""},{"line_number":2027,"context_line":"    def _update_port_network(self, port_id, network_id, segmentation_id):"},{"line_number":2028,"context_line":"        # TODO(sahid): This clean_network_ports should accept a net-id/seg_id."},{"line_number":2029,"context_line":"        self._clean_network_ports(port_id)"},{"line_number":2030,"context_line":"        self.network_ports[network_id][segmentation_id].add(port_id)"},{"line_number":2031,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"a27df6f4_9bd8f9bf","line":2028,"range":{"start_line":2028,"start_character":8,"end_line":2028,"end_character":78},"in_reply_to":"079f92d0_2f20b7a7","updated":"2022-07-01 10:57:04.000000000","message":"Done","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"36b3aa2b28ab6727c017000cf315627d768d086c","unresolved":true,"context_lines":[{"line_number":2025,"context_line":"                migrating_devices)"},{"line_number":2026,"context_line":""},{"line_number":2027,"context_line":"    def _update_port_network(self, port_id, network_id, segmentation_id):"},{"line_number":2028,"context_line":"        # TODO(sahid): This clean_network_ports should accept a net-id/seg_id."},{"line_number":2029,"context_line":"        self._clean_network_ports(port_id)"},{"line_number":2030,"context_line":"        self.network_ports[network_id][segmentation_id].add(port_id)"},{"line_number":2031,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"079f92d0_2f20b7a7","line":2028,"range":{"start_line":2028,"start_character":8,"end_line":2028,"end_character":78},"in_reply_to":"7a9cd3a3_09332296","updated":"2022-06-17 07:27:21.000000000","message":"It is used by process_deleted_ports which does not have network_id passed to it.","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9681279798275a25e00d4a1170a3e706165d1178","unresolved":true,"context_lines":[{"line_number":2027,"context_line":"    def _update_port_network(self, port_id, network_id, segmentation_id):"},{"line_number":2028,"context_line":"        # TODO(sahid): This clean_network_ports should accept a net-id/seg_id."},{"line_number":2029,"context_line":"        self._clean_network_ports(port_id)"},{"line_number":2030,"context_line":"        self.network_ports[network_id][segmentation_id].add(port_id)"},{"line_number":2031,"context_line":""},{"line_number":2032,"context_line":"    def treat_ancillary_devices_added(self, devices):"},{"line_number":2033,"context_line":"        devices_details_list \u003d ("}],"source_content_type":"text/x-python","patch_set":7,"id":"5e5cf80b_4053aedc","line":2030,"range":{"start_line":2030,"start_character":8,"end_line":2030,"end_character":68},"updated":"2022-05-27 08:03:28.000000000","message":"Despite self.network_ports is an internal member of this class, we use methods to hide the internals of this structure. I would create a method to push a new port inside self.network_ports (I know this is a one line method, but it is consistent with the rest of the implementation).","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"36b3aa2b28ab6727c017000cf315627d768d086c","unresolved":false,"context_lines":[{"line_number":2027,"context_line":"    def _update_port_network(self, port_id, network_id, segmentation_id):"},{"line_number":2028,"context_line":"        # TODO(sahid): This clean_network_ports should accept a net-id/seg_id."},{"line_number":2029,"context_line":"        self._clean_network_ports(port_id)"},{"line_number":2030,"context_line":"        self.network_ports[network_id][segmentation_id].add(port_id)"},{"line_number":2031,"context_line":""},{"line_number":2032,"context_line":"    def treat_ancillary_devices_added(self, devices):"},{"line_number":2033,"context_line":"        devices_details_list \u003d ("}],"source_content_type":"text/x-python","patch_set":7,"id":"87970287_57fd03f0","line":2030,"range":{"start_line":2030,"start_character":8,"end_line":2030,"end_character":68},"in_reply_to":"5e5cf80b_4053aedc","updated":"2022-06-17 07:27:21.000000000","message":"Done","commit_id":"e6bfde93f035022fec99263c69db5605893168a7"}]}
