)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ae1f52ae6fd9239bd954e5320f44b0fd4c9fcb71","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b8b8b024_621a25a4","updated":"2022-08-09 09:17:12.000000000","message":"Ah, I\u0027ve manually tested this feature and works fine.","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e5343099b630a0e6df3f67bea204c5d91c8e7ecf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0ab957ec_a5625a86","updated":"2022-08-09 09:16:41.000000000","message":"Code looks good. I think this feature can be tested better in a FT, checking the NB LSP register and how the tag is updated.","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":33493,"name":"chenwei","display_name":"chenwei","email":"jzpcoming@163.com","username":"chenwei"},"change_message_id":"85ca140c1a14034450195a73f707fe1f421d21f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5c56f506_463b9f82","updated":"2022-08-09 10:08:45.000000000","message":"please add releasenode","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"677f0b7b1e72a0a2561760b8631d80658cf36c6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3f5684d0_95996b91","in_reply_to":"5c56f506_463b9f82","updated":"2022-08-09 10:51:23.000000000","message":"Will do","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"94287d712c90358268edccc2639e82d9931de5ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3292e2e2_e94c1078","updated":"2022-08-10 07:53:08.000000000","message":"recheck","commit_id":"e85f7dddc700f245dddedcc07ba745e8714791e7"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"7a3f23b50988c3e8c229cad9cc184e806e97453b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5097013e_9887f2a7","updated":"2022-08-10 06:34:51.000000000","message":"recheck network issues","commit_id":"e85f7dddc700f245dddedcc07ba745e8714791e7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"3aed26aed17b2456d339d044164b1814683d14f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4113624c_3639bd1e","updated":"2022-08-10 08:47:48.000000000","message":"Last patch-set just fixes the merge conflict ","commit_id":"982c22dd46bb651c4c5c614262f1a9d68a96cd70"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0b67fdfe8952f7b2c68b9b3d15349d88116f48e3","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"ccf9a465_1103faf5","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"updated":"2022-08-09 10:37:25.000000000","message":"nit: I think a segment ID is not a list and [] sounds tricky as the default value.","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"4a31e0c8667a214fb246575ed229c0073af9c5cf","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"fce9f341_71269114","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"in_reply_to":"02d308e6_d825d081","updated":"2022-08-09 13:04:28.000000000","message":"I mean, THANKS for testing this.","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5204d06d3edbce6cf4d76817673721424e2a24d8","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"87906e28_1ae33a53","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"in_reply_to":"76e5d061_798b19ba","updated":"2022-08-09 11:31:19.000000000","message":"Ahh, that made me test that when, for example, the network is flat. The segment retrieved has tag\u003dNone. That throws the following error: \nERROR ovsdbapp.backend.ovs_idl.vlog [-] attempting to write bad value to column tag (ovsdb error: expected integer, got \u003cclass \u0027NoneType\u0027\u003e): ovs.db.error.Error: ovsdb error: expected integer, got \u003cclass \u0027NoneType\u0027\u003e\n\n\nYou should change that to:\n  # That should cover if seg_id\u003d0, although I don\u0027t now when that could\n  # be possible.\n  tag \u003d segment.get(segment_def.SEGMENTATION_ID)\n  tag \u003d tag if tag is not None else []","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"df011e0c9b0fb6e159c6c8805fdf9ceb5f68f787","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"02d308e6_d825d081","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"in_reply_to":"87906e28_1ae33a53","updated":"2022-08-09 12:14:59.000000000","message":"That\u0027s interesting! Testing for testing this. I thought get() would always return the default value (in this case []) when SEGMENTATION_ID was None","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"677f0b7b1e72a0a2561760b8631d80658cf36c6a","unresolved":true,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"76e5d061_798b19ba","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"in_reply_to":"ccf9a465_1103faf5","updated":"2022-08-09 10:51:23.000000000","message":"Yeah, it looks strange but in the OVN database when there is no tag it\u0027s represented as an empty array. For example:\n\nstack@central:~/devstack$ sudo ovn-nbctl list logical_switch_port | grep \"tag \"\ntag                 : []\ntag                 : []\ntag                 : 3505\ntag                 : []\ntag                 : 144","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"efab5c834d48b7077f2a2d817814c7edf0c201ab","unresolved":false,"context_lines":[{"line_number":1968,"context_line":"            # Update the segment tags, if any"},{"line_number":1969,"context_line":"            segments \u003d segments_db.get_network_segments(context, network[\u0027id\u0027])"},{"line_number":1970,"context_line":"            for segment in segments:"},{"line_number":1971,"context_line":"                tag \u003d segment.get(segment_def.SEGMENTATION_ID, [])"},{"line_number":1972,"context_line":"                lport_name \u003d utils.ovn_provnet_port_name(segment[\u0027id\u0027])"},{"line_number":1973,"context_line":"                txn.add(self._nb_idl.set_lswitch_port(lport_name\u003dlport_name,"},{"line_number":1974,"context_line":"                                                      tag\u003dtag, if_exists\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":3,"id":"3383ec71_3d95c941","line":1971,"range":{"start_line":1971,"start_character":63,"end_line":1971,"end_character":65},"in_reply_to":"fce9f341_71269114","updated":"2022-08-29 12:26:51.000000000","message":"Done","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"}],"neutron/plugins/ml2/plugin.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"26fae809d22b4dc181f3690e022a075cea56021b","unresolved":true,"context_lines":[{"line_number":892,"context_line":"                     portbindings.VIF_TYPE_BINDING_FAILED]"},{"line_number":893,"context_line":"        for mech_driver in self.mechanism_manager.ordered_mech_drivers:"},{"line_number":894,"context_line":"            if (isinstance(mech_driver.obj,"},{"line_number":895,"context_line":"                           mech_agent.AgentMechanismDriverBase) and"},{"line_number":896,"context_line":"                    provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":897,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":898,"context_line":"                agent_type \u003d mech_driver.obj.agent_type"}],"source_content_type":"text/x-python","patch_set":2,"id":"c211c615_c0d20d73","line":895,"range":{"start_line":895,"start_character":26,"end_line":895,"end_character":62},"updated":"2021-09-24 13:03:39.000000000","message":"When I implemented this feature, I assumed all mech_driver were going to be \"AgentMechanismDriverBase\". For OVN this is not the case. \"OVNMechanismDriver\" inherits directly from \"api.MechanismDriver\" ...","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ae98fb38b369615cd2c33b7cba4c44acb9286116","unresolved":false,"context_lines":[{"line_number":892,"context_line":"                     portbindings.VIF_TYPE_BINDING_FAILED]"},{"line_number":893,"context_line":"        for mech_driver in self.mechanism_manager.ordered_mech_drivers:"},{"line_number":894,"context_line":"            if (isinstance(mech_driver.obj,"},{"line_number":895,"context_line":"                           mech_agent.AgentMechanismDriverBase) and"},{"line_number":896,"context_line":"                    provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":897,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":898,"context_line":"                agent_type \u003d mech_driver.obj.agent_type"}],"source_content_type":"text/x-python","patch_set":2,"id":"86ddbe27_425833c5","line":895,"range":{"start_line":895,"start_character":26,"end_line":895,"end_character":62},"in_reply_to":"c211c615_c0d20d73","updated":"2022-08-05 11:16:28.000000000","message":"Done","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"26fae809d22b4dc181f3690e022a075cea56021b","unresolved":true,"context_lines":[{"line_number":895,"context_line":"                           mech_agent.AgentMechanismDriverBase) and"},{"line_number":896,"context_line":"                    provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":897,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":898,"context_line":"                agent_type \u003d mech_driver.obj.agent_type"},{"line_number":899,"context_line":"                agents \u003d self.get_agents("},{"line_number":900,"context_line":"                    context, filters\u003d{\u0027agent_type\u0027: [agent_type]})"},{"line_number":901,"context_line":"                for agent in agents:"}],"source_content_type":"text/x-python","patch_set":2,"id":"5d1f54fa_23d559c8","line":898,"range":{"start_line":898,"start_character":29,"end_line":898,"end_character":55},"updated":"2021-09-24 13:03:39.000000000","message":"... that means OVN mech driver won\u0027t have \"agent_type\" ...","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ae98fb38b369615cd2c33b7cba4c44acb9286116","unresolved":false,"context_lines":[{"line_number":895,"context_line":"                           mech_agent.AgentMechanismDriverBase) and"},{"line_number":896,"context_line":"                    provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":897,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":898,"context_line":"                agent_type \u003d mech_driver.obj.agent_type"},{"line_number":899,"context_line":"                agents \u003d self.get_agents("},{"line_number":900,"context_line":"                    context, filters\u003d{\u0027agent_type\u0027: [agent_type]})"},{"line_number":901,"context_line":"                for agent in agents:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ad527c38_ee4db79e","line":898,"range":{"start_line":898,"start_character":29,"end_line":898,"end_character":55},"in_reply_to":"5d1f54fa_23d559c8","updated":"2022-08-05 11:16:28.000000000","message":"Done","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"26fae809d22b4dc181f3690e022a075cea56021b","unresolved":true,"context_lines":[{"line_number":900,"context_line":"                    context, filters\u003d{\u0027agent_type\u0027: [agent_type]})"},{"line_number":901,"context_line":"                for agent in agents:"},{"line_number":902,"context_line":"                    vif_types.append("},{"line_number":903,"context_line":"                        mech_driver.obj.get_supported_vif_type(agent))"},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"        if ports_obj.Port.check_network_ports_by_binding_types("},{"line_number":906,"context_line":"                context, network[\u0027id\u0027], vif_types, negative_search\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":2,"id":"b448dd14_52c13695","line":903,"range":{"start_line":903,"start_character":40,"end_line":903,"end_character":62},"updated":"2021-09-24 13:03:39.000000000","message":"... and we can\u0027t retrieve the supported VIF types from this method.\n\nFor OVN we need to implement a \"get_supported_vif_type\" without passing the agent. I guess (you\u0027ll have more knowledge about this than me) that the VIF type will depend on the chassis. So we need a method, implemented in \"api.MechanismDriver\" (without input argments) that returns the list of supported VIFs.\n\nIn \"api.MechanismDriver\", this method should return an empty list (by default).\n\nIn the OVN mech driver, if I\u0027m not wrong, should list all chassis, check the datapath type (netdev, system) and return the corresponding VIF type (VIF_TYPE_OVS, VIF_TYPE_VHOST_USER)","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ae98fb38b369615cd2c33b7cba4c44acb9286116","unresolved":false,"context_lines":[{"line_number":900,"context_line":"                    context, filters\u003d{\u0027agent_type\u0027: [agent_type]})"},{"line_number":901,"context_line":"                for agent in agents:"},{"line_number":902,"context_line":"                    vif_types.append("},{"line_number":903,"context_line":"                        mech_driver.obj.get_supported_vif_type(agent))"},{"line_number":904,"context_line":""},{"line_number":905,"context_line":"        if ports_obj.Port.check_network_ports_by_binding_types("},{"line_number":906,"context_line":"                context, network[\u0027id\u0027], vif_types, negative_search\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":2,"id":"a6564ccc_856ef559","line":903,"range":{"start_line":903,"start_character":40,"end_line":903,"end_character":62},"in_reply_to":"b448dd14_52c13695","updated":"2022-08-05 11:16:28.000000000","message":"Done","commit_id":"918ac5f8d1ebd169e09b7c830f21cfd85de79308"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e5343099b630a0e6df3f67bea204c5d91c8e7ecf","unresolved":false,"context_lines":[{"line_number":962,"context_line":"                else:"},{"line_number":963,"context_line":"                    # For non-AgentMechanismDriverBase drivers such as OVN"},{"line_number":964,"context_line":"                    # which inherits from MechanismDriver"},{"line_number":965,"context_line":"                    # TODO(lucasagomes): Perhaps we should"},{"line_number":966,"context_line":"                    # include get_supported_vif_types() as part of the"},{"line_number":967,"context_line":"                    # MechanismDriver\u0027s api in neutron-lib and remove this"},{"line_number":968,"context_line":"                    # check in the future ?"},{"line_number":969,"context_line":"                    if getattr(mech_driver.obj, \u0027get_supported_vif_types\u0027):"},{"line_number":970,"context_line":"                        vif_types.extend("},{"line_number":971,"context_line":"                            mech_driver.obj.get_supported_vif_types())"}],"source_content_type":"text/x-python","patch_set":3,"id":"b351abaf_b7646d7e","line":968,"range":{"start_line":965,"start_character":22,"end_line":968,"end_character":43},"updated":"2022-08-09 09:16:41.000000000","message":"+1 to this, in a follow up patch.","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"677f0b7b1e72a0a2561760b8631d80658cf36c6a","unresolved":false,"context_lines":[{"line_number":962,"context_line":"                else:"},{"line_number":963,"context_line":"                    # For non-AgentMechanismDriverBase drivers such as OVN"},{"line_number":964,"context_line":"                    # which inherits from MechanismDriver"},{"line_number":965,"context_line":"                    # TODO(lucasagomes): Perhaps we should"},{"line_number":966,"context_line":"                    # include get_supported_vif_types() as part of the"},{"line_number":967,"context_line":"                    # MechanismDriver\u0027s api in neutron-lib and remove this"},{"line_number":968,"context_line":"                    # check in the future ?"},{"line_number":969,"context_line":"                    if getattr(mech_driver.obj, \u0027get_supported_vif_types\u0027):"},{"line_number":970,"context_line":"                        vif_types.extend("},{"line_number":971,"context_line":"                            mech_driver.obj.get_supported_vif_types())"}],"source_content_type":"text/x-python","patch_set":3,"id":"f298caa1_d38a11b3","line":968,"range":{"start_line":965,"start_character":22,"end_line":968,"end_character":43},"in_reply_to":"b351abaf_b7646d7e","updated":"2022-08-09 10:51:23.000000000","message":"Cool, yeah I will put it as a follow-up patch then. We would need to wait for a neutron-lib release too before using it here","commit_id":"f97c57fd0fb93cca0a86fbee8718f9f09558fc4c"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"7a3f23b50988c3e8c229cad9cc184e806e97453b","unresolved":true,"context_lines":[{"line_number":949,"context_line":"        vif_types \u003d [portbindings.VIF_TYPE_UNBOUND,"},{"line_number":950,"context_line":"                     portbindings.VIF_TYPE_BINDING_FAILED]"},{"line_number":951,"context_line":"        for mech_driver in self.mechanism_manager.ordered_mech_drivers:"},{"line_number":952,"context_line":"            if (provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":953,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":954,"context_line":"                if isinstance(mech_driver.obj,"},{"line_number":955,"context_line":"                        mech_agent.AgentMechanismDriverBase):"},{"line_number":956,"context_line":"                    agent_type \u003d mech_driver.obj.agent_type"}],"source_content_type":"text/x-python","patch_set":5,"id":"6b4eb030_356a9a54","line":953,"range":{"start_line":952,"start_character":9,"end_line":953,"end_character":68},"updated":"2022-08-10 06:34:51.000000000","message":"this move looked suspecious but should be good checking history for https://bugs.launchpad.net/neutron/+bug/1824346","commit_id":"e85f7dddc700f245dddedcc07ba745e8714791e7"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"a4df7f654bc613aec1709333059612438c9a83e8","unresolved":false,"context_lines":[{"line_number":949,"context_line":"        vif_types \u003d [portbindings.VIF_TYPE_UNBOUND,"},{"line_number":950,"context_line":"                     portbindings.VIF_TYPE_BINDING_FAILED]"},{"line_number":951,"context_line":"        for mech_driver in self.mechanism_manager.ordered_mech_drivers:"},{"line_number":952,"context_line":"            if (provider_net.SEGMENTATION_ID in mech_driver.obj."},{"line_number":953,"context_line":"                    provider_network_attribute_updates_supported()):"},{"line_number":954,"context_line":"                if isinstance(mech_driver.obj,"},{"line_number":955,"context_line":"                        mech_agent.AgentMechanismDriverBase):"},{"line_number":956,"context_line":"                    agent_type \u003d mech_driver.obj.agent_type"}],"source_content_type":"text/x-python","patch_set":5,"id":"c2298794_041d8157","line":953,"range":{"start_line":952,"start_character":9,"end_line":953,"end_character":68},"in_reply_to":"6b4eb030_356a9a54","updated":"2022-08-29 12:26:40.000000000","message":"Done","commit_id":"e85f7dddc700f245dddedcc07ba745e8714791e7"}]}
