)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"56860cf300bd4c443a47baf47a84cc8f0a051a1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"34d74932_b9fb1986","updated":"2024-01-17 11:50:04.000000000","message":"-1 only for visibility","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"a35126e743b869b24524c7fa56b6e1c3741c0251","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fe072c55_da9ecc3f","updated":"2024-01-11 13:58:13.000000000","message":"I never used or worked with the vlan_transparent extension. Do I need to worry about breaking it in any way by this patch?","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"6c1aa7604c45733cd3df7f82872ad4368cc76b3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0ba845aa_686d2e33","updated":"2024-01-12 10:18:06.000000000","message":"recheck https://bugs.launchpad.net/nova/+bug/2045785","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"cee71124d69771479f69667ee816d6e23c1c52ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5544b9fe_5588464d","updated":"2024-01-19 09:21:56.000000000","message":"Our downstream teams still test this patch before merge","commit_id":"7b596484ed452100844b9922b687c2b55ea629b5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"397e4790eb4161dccb93dbce7e51432ce1870119","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4c177984_c7927481","updated":"2024-01-18 09:10:32.000000000","message":"This patch needs to be backported once merged and tested locally by Bence (the reproducer environment is not easy to build).","commit_id":"7b596484ed452100844b9922b687c2b55ea629b5"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"488efa9d03c517db0235938e9deb88f765b2f7ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f289fc4c_2095aae4","updated":"2024-01-18 12:20:56.000000000","message":"recheck\ntest_securitygroup(ovs-hybrid) failure in fullstack is not related","commit_id":"7b596484ed452100844b9922b687c2b55ea629b5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5d5cd0048c80a08a014e6e773753840e405d3d20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fac1f73c_b0601cb7","updated":"2024-01-18 09:09:31.000000000","message":"recheck neutron-fullstack-with-uwsgi","commit_id":"7b596484ed452100844b9922b687c2b55ea629b5"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"5eae57ff61239cc00d38060109d6cbbeb3c2300c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8e99830b_3e8881c3","in_reply_to":"5544b9fe_5588464d","updated":"2024-01-22 09:20:31.000000000","message":"As detailed in https://bugs.launchpad.net/neutron/+bug/2048785/comments/2 I found a proper upstream reproduction, therefore I could test ps5 by myself. Before and after applying ps5 I checked the \"ovs-appctl\" ofproto/trace outputs as discussed in the bug report comment and tested the trunk parent and subport traffic by ping. It all passed. So I believe we can merge this.\n\nI also agree with Rodolfo that we need to backport this as far as we can.","commit_id":"7b596484ed452100844b9922b687c2b55ea629b5"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"a97e721d9611b47043e8bdf0b54e08b5d24bc9c5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6fe33acb_84b26d2d","updated":"2024-01-24 13:46:01.000000000","message":"I tried to update the docs too. I hope my updates are correct, but quite a lot changed since the last update, so please correct me if I missed/mistook something.\n\nAlso I just want to repeat that thanks to the full reproduction detailed in the bug report comment I was able to test that this change fixes the original bug, so I believe this is ready to get merged.","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d0ed82e2c5f221ec8ed57cebe14ae0a7731ea634","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"81830c06_7292be7d","updated":"2024-01-26 08:53:14.000000000","message":"recheck\nnone of functional fullstack or dvr-ha multinode jobs failures are not related","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"ed7348647cb584cf3bc810844610825197611573","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a640c165_2aa3d242","updated":"2024-01-25 08:58:42.000000000","message":"recheck failure of test test_role_create_update_show_list in job neutron-ovs-grenade-multinode does not seem related","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"7daaa1d7f7a5e9f8a5d66ffc06dfd5709c306d93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"99f6acd5_81024a12","updated":"2024-01-26 08:42:10.000000000","message":"recheck various unrelated timeouts","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"}],"doc/source/contributor/internals/openvswitch_agent.rst":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"2d092a928087d23d3a1d705dff77102cacce1397","unresolved":true,"context_lines":[{"line_number":527,"context_line":" ovs-vsctl add-port br-int tpi-parent-id tag\u003d3 -- set Interface tpi-parent-id type\u003dpatch options:peer\u003dtpt-parent-id"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"A patch port is created to connect the trunk bridge to the integration bridge."},{"line_number":531,"context_line":"tpt-parent-id, the trunk bridge side of the patch is not associated to any"},{"line_number":532,"context_line":"tag. It will carry untagged traffic."},{"line_number":533,"context_line":"tpi-parent-id, the br-int side the patch port is tagged with VLAN 3. We assume that the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2d61a888_eab8a470","side":"PARENT","line":530,"updated":"2024-01-29 03:56:02.000000000","message":"It looks like this first sentence got deleted?","commit_id":"3ef02cc2fb44a665001df1074b9e6e383a9d83a6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"62056dab1fe7859c3ec00529bac8ef66bfc1bc46","unresolved":false,"context_lines":[{"line_number":527,"context_line":" ovs-vsctl add-port br-int tpi-parent-id tag\u003d3 -- set Interface tpi-parent-id type\u003dpatch options:peer\u003dtpt-parent-id"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"A patch port is created to connect the trunk bridge to the integration bridge."},{"line_number":531,"context_line":"tpt-parent-id, the trunk bridge side of the patch is not associated to any"},{"line_number":532,"context_line":"tag. It will carry untagged traffic."},{"line_number":533,"context_line":"tpi-parent-id, the br-int side the patch port is tagged with VLAN 3. We assume that the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d4cd5e96_eac8805a","side":"PARENT","line":530,"in_reply_to":"1aee8ae9_14527e9a","updated":"2024-01-29 15:49:58.000000000","message":"Ah, sorry missed that, thanks Bence","commit_id":"3ef02cc2fb44a665001df1074b9e6e383a9d83a6"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4063199de1b3f5250f44b282fb167ccd5a5c1b32","unresolved":false,"context_lines":[{"line_number":527,"context_line":" ovs-vsctl add-port br-int tpi-parent-id tag\u003d3 -- set Interface tpi-parent-id type\u003dpatch options:peer\u003dtpt-parent-id"},{"line_number":528,"context_line":""},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"A patch port is created to connect the trunk bridge to the integration bridge."},{"line_number":531,"context_line":"tpt-parent-id, the trunk bridge side of the patch is not associated to any"},{"line_number":532,"context_line":"tag. It will carry untagged traffic."},{"line_number":533,"context_line":"tpi-parent-id, the br-int side the patch port is tagged with VLAN 3. We assume that the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1aee8ae9_14527e9a","side":"PARENT","line":530,"in_reply_to":"2d61a888_eab8a470","updated":"2024-01-29 08:31:33.000000000","message":"I hope the information is still there in lines 522-523.","commit_id":"3ef02cc2fb44a665001df1074b9e6e383a9d83a6"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"59d4ed4b86a900e7564539685e0fa004932548a4","unresolved":true,"context_lines":[{"line_number":535,"context_line":"the trunk is on network1 that on this host is associated with VLAN 3."},{"line_number":536,"context_line":"If the parent port is associated with one or more subports the agent"},{"line_number":537,"context_line":"will process them as described in the next paragraph."},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"Subport creation"},{"line_number":540,"context_line":"++++++++++++++++"},{"line_number":541,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dc079e21_7728732c","line":538,"updated":"2024-01-26 08:58:20.000000000","message":"thanks for refreshing the doc","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"4063199de1b3f5250f44b282fb167ccd5a5c1b32","unresolved":false,"context_lines":[{"line_number":535,"context_line":"the trunk is on network1 that on this host is associated with VLAN 3."},{"line_number":536,"context_line":"If the parent port is associated with one or more subports the agent"},{"line_number":537,"context_line":"will process them as described in the next paragraph."},{"line_number":538,"context_line":""},{"line_number":539,"context_line":"Subport creation"},{"line_number":540,"context_line":"++++++++++++++++"},{"line_number":541,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"0c3efb23_96e24d77","line":538,"in_reply_to":"dc079e21_7728732c","updated":"2024-01-29 08:31:33.000000000","message":"Acknowledged","commit_id":"27601f8eead444283e4d1c258298ac5afaff377f"}],"neutron/services/trunk/drivers/openvswitch/agent/trunk_manager.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"a2e960e2b0dd0bed1a9d9e57efe152c3a5920f1b","unresolved":true,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":1,"id":"d09bb2ea_20bdf640","line":128,"updated":"2024-01-09 15:29:06.000000000","message":"Before I write tests I wanted to ask: Is this the right place (trunk_manager.py) to do this? Or shall the ovs agent do this after detecting the plug? It\u0027s definitely simpler here, but if it\u0027s better to do this from ovs_neutron_agent.py, I can move it.","commit_id":"81d01ae9e5c7e64b78ac9f9b27da2a4ed094075a"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"a35126e743b869b24524c7fa56b6e1c3741c0251","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":1,"id":"9db10031_f1b9a30b","line":128,"in_reply_to":"d09bb2ea_20bdf640","updated":"2024-01-11 13:58:13.000000000","message":"After thinking more about this:\n\nFor all normal ports ovs_neutron_agent.py is responsible for (implicitly) setting \u0027vlan_mode\u0027, by setting \u0027tag\u0027  from _set_port_vlan(). So by responsibility this could be done from there.\n\nHowever we intentionally separated all trunk port related logic from there to trunk_manager.py and because of that, this is a better place for this.\n\nIn addition, this change here is trivial, while in ovs_neutron_agent.py the VifPort object does not contain any information to decide whether a port is a trunk parent or not. Therefore we would either need to get this info from the server, or set vlan_mode\u003daccess for all ports, which theoretically should be safe, but practically sounds far reaching. So I would rather keep this here.","commit_id":"81d01ae9e5c7e64b78ac9f9b27da2a4ed094075a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7547b16ec9b153f54ac8094cfca01c4b878981a2","unresolved":true,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":2,"id":"57d0e526_dbcec5c8","line":128,"range":{"start_line":128,"start_character":48,"end_line":128,"end_character":54},"updated":"2024-01-11 15:12:31.000000000","message":"We are not using the trunk functionality of OVS. We created our own implementation by creating the trunk bridge, with the parent port and subports.\n\nThe parent port differs from the subports in the VLAN tag. The parent port accepts only untagged traffic while the subports filter by VLAN tag, coming from the VM.\n\nI don\u0027t think we need to change this value here.","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"56860cf300bd4c443a47baf47a84cc8f0a051a1b","unresolved":true,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":2,"id":"aec90644_f564b4ad","line":128,"range":{"start_line":128,"start_character":48,"end_line":128,"end_character":54},"in_reply_to":"341b3237_8bed5448","updated":"2024-01-17 11:50:04.000000000","message":"Right. In the trunk OVS driver we have re-implemented the Trunk functionality, instead of using the native OVS one. In this case a parent port is the same as a subport; both should be \"vlan_mode\u003daccess\" and must have a tag. The parent port should explicitly have \"tag\u003d0\" to accept only untagged traffic.\n\nActually this method is also called from ``SubPort.plug``. It should accept \"tag\" as parameter and always set it in this transaction.","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"08d6215649256ccec232c36309d216094921e535","unresolved":true,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":2,"id":"341b3237_8bed5448","line":128,"range":{"start_line":128,"start_character":48,"end_line":128,"end_character":54},"in_reply_to":"57d0e526_dbcec5c8","updated":"2024-01-11 16:06:12.000000000","message":"Hi Rodolfo,\n\nI agree that the parent port should accept only untagged traffic. However without this change it does accept tagged traffic too (please see the documentation quotes in the bug report). More generally speaking each trunk parent and subport should accept only one vlan, either untagged or tagged. Subports are already vlan_mode\u003daccess implicitly, because we set a tag on them. I believe the parent port also should be vlan_mode\u003daccess. Otherwise in very contrived (but real) situations (please see the end of my bug report), we may create forwarding loops.","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"da29437af51d99f04e3de264ca9c40aff531d0ef","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            txn.add(ovsdb.db_set(\u0027Interface\u0027, self.patch_port_trunk_name,"},{"line_number":126,"context_line":"                                 *patch_trunk_attrs))"},{"line_number":127,"context_line":"            txn.add(ovsdb.db_set(\u0027Port\u0027, self.patch_port_trunk_name,"},{"line_number":128,"context_line":"                                 (\u0027vlan_mode\u0027, \u0027access\u0027)))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def unplug(self, bridge):"},{"line_number":131,"context_line":"        \"\"\"Unplug the trunk from bridge."}],"source_content_type":"text/x-python","patch_set":2,"id":"1aeced05_602bdc8e","line":128,"range":{"start_line":128,"start_character":48,"end_line":128,"end_character":54},"in_reply_to":"aec90644_f564b4ad","updated":"2024-01-17 13:58:10.000000000","message":"As discussed also in the irc channel I agree with setting tag\u003d0 too. Thanks for catching this!\n\nIf you don\u0027t mind I did not take on the refactoring suggestion to introduce a tag parameter, because then we would need to put an \u0027if\u0027 in SubPort.plug (if has segmentation id then call with tag\u003dsegmentation_id else call with tag\u003d0). One side of that \u0027if\u0027 would be parent port specific knowledge in the SubPort class.","commit_id":"5b705477c4702ebf57bcc22842fda7257231805b"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"16ad358e88ba9a878e8ec63a6868c50a9abe6499","unresolved":true,"context_lines":[{"line_number":171,"context_line":"                       will be created."},{"line_number":172,"context_line":"        \"\"\""},{"line_number":173,"context_line":"        ovsdb \u003d self.bridge.ovsdb"},{"line_number":174,"context_line":"        with ovsdb.transaction() as txn:"},{"line_number":175,"context_line":"            super(SubPort, self).plug(br_int, tag\u003dself.segmentation_id)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def unplug(self, bridge):"}],"source_content_type":"text/x-python","patch_set":4,"id":"32648199_1375c949","line":174,"range":{"start_line":174,"start_character":8,"end_line":174,"end_character":40},"updated":"2024-01-17 14:57:12.000000000","message":"Now there is not need to create this transaction. All operations are done in the super method.","commit_id":"53ba0bd0f7176216125031a412a047a7d3ea2279"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"547b50c6c5b9c19dd935f9e2e003b16bcc5af949","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                       will be created."},{"line_number":172,"context_line":"        \"\"\""},{"line_number":173,"context_line":"        ovsdb \u003d self.bridge.ovsdb"},{"line_number":174,"context_line":"        with ovsdb.transaction() as txn:"},{"line_number":175,"context_line":"            super(SubPort, self).plug(br_int, tag\u003dself.segmentation_id)"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"    def unplug(self, bridge):"}],"source_content_type":"text/x-python","patch_set":4,"id":"307dfb9c_c62ec104","line":174,"range":{"start_line":174,"start_character":8,"end_line":174,"end_character":40},"in_reply_to":"32648199_1375c949","updated":"2024-01-17 16:33:18.000000000","message":"Done","commit_id":"53ba0bd0f7176216125031a412a047a7d3ea2279"}]}
