)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":15,"context_line":"conected through that router gateway port are of VLAN/FLAT type."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In addition, to avoid MTU issues for the VLAN networks if there are"},{"line_number":18,"context_line":"also genev networks connected to the same router, we re-take the"},{"line_number":19,"context_line":"approach on [2] to ensure the traffic is centralized but not tunneled"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[1] https://review.opendev.org/c/openstack/neutron/+/875644"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"bf171ab4_4293a572","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":10},"updated":"2023-03-30 16:44:13.000000000","message":"geneve","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":false,"context_lines":[{"line_number":15,"context_line":"conected through that router gateway port are of VLAN/FLAT type."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In addition, to avoid MTU issues for the VLAN networks if there are"},{"line_number":18,"context_line":"also genev networks connected to the same router, we re-take the"},{"line_number":19,"context_line":"approach on [2] to ensure the traffic is centralized but not tunneled"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"[1] https://review.opendev.org/c/openstack/neutron/+/875644"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"17aaba31_0931ae62","line":18,"range":{"start_line":18,"start_character":5,"end_line":18,"end_character":10},"in_reply_to":"bf171ab4_4293a572","updated":"2023-03-31 05:47:54.000000000","message":"Done","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"8d3af60e70a37fec881f41624d5c4e04d8c23338","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dc4d6c80_92d5a6e0","updated":"2023-03-24 10:20:11.000000000","message":"Still investigating some corner cases","commit_id":"0114fa7699a6e8272cd232f2acba985c085ac0bb"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"72123bd5_1887abdb","updated":"2023-03-28 10:25:50.000000000","message":"-1 just to get visibility for my question about flat networks. Other comments are just nits really more related to the \"coding style\" so I\u0027m fine with it as it is now :)","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0922d4fb_83a972ab","updated":"2023-03-28 14:21:43.000000000","message":"Thanks Luis for the patch! Some suggestions/questions inline :)","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"21d46643e8d46d0d18a5ff152e289e8f078d3bb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"eae34f6c_b958751b","updated":"2023-04-03 10:20:54.000000000","message":"I\u0027m approving this patch because we need it but we need better testing coverage.","commit_id":"0ec04dd638da8cc9f4d5ebb21a09ea5ccb05623c"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f8ad5be99d40844496077a14157728a7b4f893e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"ea4acc02_b486dd59","updated":"2023-04-03 05:27:59.000000000","message":"recheck neutron-ovn-rally-task timeout","commit_id":"0ec04dd638da8cc9f4d5ebb21a09ea5ccb05623c"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":true,"context_lines":[{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"}],"source_content_type":"text/x-python","patch_set":8,"id":"fc38cb5d_ef41f638","line":711,"updated":"2023-03-28 10:25:50.000000000","message":"what about flat networks, shouldn\u0027t it be treated in the same way as vlan type?","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"07e3c3db1769bf86c4738adea94121477080cf9c","unresolved":false,"context_lines":[{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"}],"source_content_type":"text/x-python","patch_set":8,"id":"8488286a_9e41e1d1","line":711,"in_reply_to":"fc145113_da23b927","updated":"2023-03-28 10:46:00.000000000","message":"Done","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bfae931ad987a262a61f58727e8ebac74be96ee3","unresolved":true,"context_lines":[{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"}],"source_content_type":"text/x-python","patch_set":8,"id":"fc145113_da23b927","line":711,"in_reply_to":"fc38cb5d_ef41f638","updated":"2023-03-28 10:34:37.000000000","message":"ok, it\u0027s explicitly said in the flat type driver that tenant flat networks are not supported https://github.com/openstack/neutron/blob/09d146553438ba9e3a4064fa93a280a406f32ac5/neutron/plugins/ml2/drivers/type_flat.py#L113 so it don\u0027t need to be included here","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":true,"context_lines":[{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"},{"line_number":715,"context_line":"                            break"},{"line_number":716,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"e01285a0_d4a77484","line":713,"updated":"2023-03-28 10:25:50.000000000","message":"isn\u0027t \"else\" enough here?","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"07e3c3db1769bf86c4738adea94121477080cf9c","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"},{"line_number":715,"context_line":"                            break"},{"line_number":716,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf49fc45_3de8e6bc","line":713,"in_reply_to":"e01285a0_d4a77484","updated":"2023-03-28 10:46:00.000000000","message":"Done","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":true,"context_lines":[{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"},{"line_number":715,"context_line":"                            break"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"13c8f0ba_69c42420","line":714,"updated":"2023-03-28 10:25:50.000000000","message":"You can set \"enable_redirect \u003d True\" in L693 and then here do just:\n\n    if net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:\n        enable_redirect \u003d False\n        break\n        \nso checking second condition will not be needed :)","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"07e3c3db1769bf86c4738adea94121477080cf9c","unresolved":false,"context_lines":[{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) \u003d\u003d n_const.TYPE_VLAN:"},{"line_number":712,"context_line":"                            enable_redirect \u003d True"},{"line_number":713,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d n_const.TYPE_VLAN:"},{"line_number":714,"context_line":"                            enable_redirect \u003d False"},{"line_number":715,"context_line":"                            break"},{"line_number":716,"context_line":""},{"line_number":717,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"aeb2f555_dfc33aa8","line":714,"in_reply_to":"13c8f0ba_69c42420","updated":"2023-03-28 10:46:00.000000000","message":"I have it like that so that if there is no networks connected to the router we don\u0027t set the flag, as there is no need for it","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"},{"line_number":698,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":699,"context_line":"                    LOG.debug(\"No Router %s not found\", gw_port[\u0027device_id\u0027])"},{"line_number":700,"context_line":"                else:"},{"line_number":701,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":702,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("}],"source_content_type":"text/x-python","patch_set":11,"id":"a6d6d6f3_ff2f4397","line":699,"updated":"2023-03-28 14:21:43.000000000","message":"What does this mean? Can we have a gw port without a router?","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0d01cd00cd2d5ad4de08caa207b308e9ae2f0d41","unresolved":true,"context_lines":[{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"},{"line_number":698,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":699,"context_line":"                    LOG.debug(\"No Router %s not found\", gw_port[\u0027device_id\u0027])"},{"line_number":700,"context_line":"                else:"},{"line_number":701,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":702,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("}],"source_content_type":"text/x-python","patch_set":11,"id":"98473e84_6ad606a0","line":699,"in_reply_to":"405a86a3_6bce724e","updated":"2023-03-28 17:54:33.000000000","message":"I\u0027m not against catching the exception but probably we should handle that situation somehow? If there is a race and router is deleted, do we still want to process the gw port which might be gone as well?","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"47d778ed2167f0afe7705c3e42af58842f233a2c","unresolved":false,"context_lines":[{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"},{"line_number":698,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":699,"context_line":"                    LOG.debug(\"No Router %s not found\", gw_port[\u0027device_id\u0027])"},{"line_number":700,"context_line":"                else:"},{"line_number":701,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":702,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("}],"source_content_type":"text/x-python","patch_set":11,"id":"fbe4740e_6eaf5b2f","line":699,"in_reply_to":"98473e84_6ad606a0","updated":"2023-03-30 06:22:09.000000000","message":"right, I\u0027ll skip the redirect setting in that case and move to the next gw_port. Thanks for noticing!","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":true,"context_lines":[{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"},{"line_number":698,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":699,"context_line":"                    LOG.debug(\"No Router %s not found\", gw_port[\u0027device_id\u0027])"},{"line_number":700,"context_line":"                else:"},{"line_number":701,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":702,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("}],"source_content_type":"text/x-python","patch_set":11,"id":"405a86a3_6bce724e","line":699,"in_reply_to":"a6d6d6f3_ff2f4397","updated":"2023-03-28 17:12:09.000000000","message":"we should not, but races come from crazy places, and it may be it was removed in between (really low chances but does not hurt, right?)","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":707,"context_line":"                    # through the controller."},{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_VLAN,"},{"line_number":712,"context_line":"                                                          n_const.TYPE_FLAT]:"},{"line_number":713,"context_line":"                            enable_redirect \u003d True"},{"line_number":714,"context_line":"                        else:"},{"line_number":715,"context_line":"                            enable_redirect \u003d False"},{"line_number":716,"context_line":"                            break"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"},{"line_number":719,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"6115ba87_aab007a6","line":716,"range":{"start_line":710,"start_character":0,"end_line":716,"end_character":33},"updated":"2023-03-28 14:21:43.000000000","message":"enable_redirect \u003d all(net[pnet.NETWORK_TYPE] in [...] for net in networks)","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"6566f87a9e836ab3dabfdef6e4e023b50a502d67","unresolved":true,"context_lines":[{"line_number":707,"context_line":"                    # through the controller."},{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_VLAN,"},{"line_number":712,"context_line":"                                                          n_const.TYPE_FLAT]:"},{"line_number":713,"context_line":"                            enable_redirect \u003d True"},{"line_number":714,"context_line":"                        else:"},{"line_number":715,"context_line":"                            enable_redirect \u003d False"},{"line_number":716,"context_line":"                            break"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"},{"line_number":719,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"cdd4fc69_f4af41b3","line":716,"range":{"start_line":710,"start_character":0,"end_line":716,"end_character":33},"in_reply_to":"37efaf35_c9263816","updated":"2023-03-28 17:59:08.000000000","message":"https://docs.python.org/3/library/functions.html#all","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":true,"context_lines":[{"line_number":707,"context_line":"                    # through the controller."},{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_VLAN,"},{"line_number":712,"context_line":"                                                          n_const.TYPE_FLAT]:"},{"line_number":713,"context_line":"                            enable_redirect \u003d True"},{"line_number":714,"context_line":"                        else:"},{"line_number":715,"context_line":"                            enable_redirect \u003d False"},{"line_number":716,"context_line":"                            break"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"},{"line_number":719,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"6e87ceae_b7ea6917","line":716,"range":{"start_line":710,"start_character":0,"end_line":716,"end_character":33},"in_reply_to":"6115ba87_aab007a6","updated":"2023-03-28 17:12:09.000000000","message":"I don\u0027t want to go over all of them if not needed, as soon as there is one that is not there we break the loop","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0d01cd00cd2d5ad4de08caa207b308e9ae2f0d41","unresolved":true,"context_lines":[{"line_number":707,"context_line":"                    # through the controller."},{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_VLAN,"},{"line_number":712,"context_line":"                                                          n_const.TYPE_FLAT]:"},{"line_number":713,"context_line":"                            enable_redirect \u003d True"},{"line_number":714,"context_line":"                        else:"},{"line_number":715,"context_line":"                            enable_redirect \u003d False"},{"line_number":716,"context_line":"                            break"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"},{"line_number":719,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"37efaf35_c9263816","line":716,"range":{"start_line":710,"start_character":0,"end_line":716,"end_character":33},"in_reply_to":"6e87ceae_b7ea6917","updated":"2023-03-28 17:54:33.000000000","message":"You won\u0027t, the iteration stops as soon as it finds the first occurrence of \"False\" value, just like you did. You just re-wrote the all() function but builtin is much faster and optimized.","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"47d778ed2167f0afe7705c3e42af58842f233a2c","unresolved":false,"context_lines":[{"line_number":707,"context_line":"                    # through the controller."},{"line_number":708,"context_line":"                    # If there are no VLAN type networks attached we need to"},{"line_number":709,"context_line":"                    # still make it centralized."},{"line_number":710,"context_line":"                    for net in networks:"},{"line_number":711,"context_line":"                        if net.get(pnet.NETWORK_TYPE) in [n_const.TYPE_VLAN,"},{"line_number":712,"context_line":"                                                          n_const.TYPE_FLAT]:"},{"line_number":713,"context_line":"                            enable_redirect \u003d True"},{"line_number":714,"context_line":"                        else:"},{"line_number":715,"context_line":"                            enable_redirect \u003d False"},{"line_number":716,"context_line":"                            break"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(gw_port[\u0027id\u0027])"},{"line_number":719,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"609d6264_3e86cb1c","line":716,"range":{"start_line":710,"start_character":0,"end_line":716,"end_character":33},"in_reply_to":"cdd4fc69_f4af41b3","updated":"2023-03-30 06:22:09.000000000","message":"I new the all was returning as soon as one false item is found. What I was not sure about (still not reading that doc) is if in this case, first we go over all networks to generate the list, and then the all applies and as soon as a false one is hit it returns. Or if we process/generate the first item of the list and then the all applies for it, then the second, etc.\n\nNot a big issue though, so I\u0027ll change it anyway","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":720,"context_line":"            redirect_value \u003d lrp.options.get("},{"line_number":721,"context_line":"                ovn_const.LRP_OPTIONS_REDIRECT_TYPE)"},{"line_number":722,"context_line":"            if enable_redirect:"},{"line_number":723,"context_line":"                if (not redirect_value or"},{"line_number":724,"context_line":"                        redirect_value !\u003d ovn_const.BRIDGE_REDIRECT_TYPE):"},{"line_number":725,"context_line":"                    opt \u003d {ovn_const.LRP_OPTIONS_REDIRECT_TYPE:"},{"line_number":726,"context_line":"                           ovn_const.BRIDGE_REDIRECT_TYPE}"}],"source_content_type":"text/x-python","patch_set":11,"id":"d9efcb41_4b3c4f54","line":723,"range":{"start_line":723,"start_character":20,"end_line":723,"end_character":38},"updated":"2023-03-28 14:21:43.000000000","message":"redirect_value is None","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":false,"context_lines":[{"line_number":720,"context_line":"            redirect_value \u003d lrp.options.get("},{"line_number":721,"context_line":"                ovn_const.LRP_OPTIONS_REDIRECT_TYPE)"},{"line_number":722,"context_line":"            if enable_redirect:"},{"line_number":723,"context_line":"                if (not redirect_value or"},{"line_number":724,"context_line":"                        redirect_value !\u003d ovn_const.BRIDGE_REDIRECT_TYPE):"},{"line_number":725,"context_line":"                    opt \u003d {ovn_const.LRP_OPTIONS_REDIRECT_TYPE:"},{"line_number":726,"context_line":"                           ovn_const.BRIDGE_REDIRECT_TYPE}"}],"source_content_type":"text/x-python","patch_set":11,"id":"673307ab_3c1eaad2","line":723,"range":{"start_line":723,"start_character":20,"end_line":723,"end_character":38},"in_reply_to":"d9efcb41_4b3c4f54","updated":"2023-03-28 17:12:09.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":727,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":728,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":729,"context_line":"            else:"},{"line_number":730,"context_line":"                if redirect_value:"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"}],"source_content_type":"text/x-python","patch_set":11,"id":"87cd5728_d9682972","line":730,"range":{"start_line":730,"start_character":19,"end_line":730,"end_character":33},"updated":"2023-03-28 14:21:43.000000000","message":"Do we want to remove any redirect value or just the bridge redirect? I think would be safer to compare to BRIDGE_REDIRECT_TYPE here","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"0d01cd00cd2d5ad4de08caa207b308e9ae2f0d41","unresolved":true,"context_lines":[{"line_number":727,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":728,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":729,"context_line":"            else:"},{"line_number":730,"context_line":"                if redirect_value:"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"}],"source_content_type":"text/x-python","patch_set":11,"id":"9411f320_0e9930e6","line":730,"range":{"start_line":730,"start_character":19,"end_line":730,"end_character":33},"in_reply_to":"3563acc5_6442fb94","updated":"2023-03-28 17:54:33.000000000","message":"yes, if there are or will be other options, they may be handled by different routines that are dedicated to it.","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":true,"context_lines":[{"line_number":727,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":728,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":729,"context_line":"            else:"},{"line_number":730,"context_line":"                if redirect_value:"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"}],"source_content_type":"text/x-python","patch_set":11,"id":"3563acc5_6442fb94","line":730,"range":{"start_line":730,"start_character":19,"end_line":730,"end_character":33},"in_reply_to":"87cd5728_d9682972","updated":"2023-03-28 17:12:09.000000000","message":"you mean to only remove it if it is bridged? and if not assuming somebody else has set it? given how tricky those options are (only overlay and bridged supported now), perhaps to ensure this is set by neutron though","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"47d778ed2167f0afe7705c3e42af58842f233a2c","unresolved":false,"context_lines":[{"line_number":727,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":728,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":729,"context_line":"            else:"},{"line_number":730,"context_line":"                if redirect_value:"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"}],"source_content_type":"text/x-python","patch_set":11,"id":"37a3705a_9db483cb","line":730,"range":{"start_line":730,"start_character":19,"end_line":730,"end_character":33},"in_reply_to":"9411f320_0e9930e6","updated":"2023-03-30 06:22:09.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"},{"line_number":734,"context_line":"        if cmds:"},{"line_number":735,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as txn:"},{"line_number":736,"context_line":"                for cmd in cmds:"},{"line_number":737,"context_line":"                    txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"945191a9_21b45252","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":16},"updated":"2023-03-28 14:21:43.000000000","message":"nit: This is redundant to L736","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":true,"context_lines":[{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"},{"line_number":734,"context_line":"        if cmds:"},{"line_number":735,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as txn:"},{"line_number":736,"context_line":"                for cmd in cmds:"},{"line_number":737,"context_line":"                    txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"a568a827_5ef4c647","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":16},"in_reply_to":"945191a9_21b45252","updated":"2023-03-28 17:12:09.000000000","message":"this is done for any other method here, so I thought there is a reason for that, I prefer to leave it as it is","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"},{"line_number":734,"context_line":"        if cmds:"},{"line_number":735,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as txn:"},{"line_number":736,"context_line":"                for cmd in cmds:"},{"line_number":737,"context_line":"                    txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ef6e4416_8728f7d2","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":16},"in_reply_to":"a568a827_5ef4c647","updated":"2023-03-30 16:44:13.000000000","message":"yeah, just for consistency and to avoid opening a txn (that will have no commands)","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":false,"context_lines":[{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"},{"line_number":733,"context_line":"                        (ovn_const.LRP_OPTIONS_REDIRECT_TYPE)))"},{"line_number":734,"context_line":"        if cmds:"},{"line_number":735,"context_line":"            with self._nb_idl.transaction(check_error\u003dTrue) as txn:"},{"line_number":736,"context_line":"                for cmd in cmds:"},{"line_number":737,"context_line":"                    txn.add(cmd)"}],"source_content_type":"text/x-python","patch_set":11,"id":"67dccbda_56fa1b6e","line":734,"range":{"start_line":734,"start_character":0,"end_line":734,"end_character":16},"in_reply_to":"ef6e4416_8728f7d2","updated":"2023-03-31 05:47:54.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":770,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":771,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("},{"line_number":772,"context_line":"                        context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":773,"context_line":"                    for net in networks:"},{"line_number":774,"context_line":"                        if net.get(pnet.NETWORK_TYPE) not in ["},{"line_number":775,"context_line":"                                n_const.TYPE_VLAN, n_const.TYPE_FLAT]:"},{"line_number":776,"context_line":"                            # NOTE(ltomasbo): not all the networks connected"},{"line_number":777,"context_line":"                            # to the router are of vlan type, so we won\u0027t set"},{"line_number":778,"context_line":"                            # the redirect-type\u003dbridged on the router gateway"},{"line_number":779,"context_line":"                            # port, therefore we need to centralized the vlan"},{"line_number":780,"context_line":"                            # traffic to avoid tunneling"},{"line_number":781,"context_line":"                            expected_value \u003d \u0027true\u0027"},{"line_number":782,"context_line":"                            break"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(rp[\u0027id\u0027])"},{"line_number":785,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"94aa3ff2_4ddfbaa6","line":782,"range":{"start_line":773,"start_character":0,"end_line":782,"end_character":33},"updated":"2023-03-28 14:21:43.000000000","message":"expected_value \u003d any(net[pnet.NETWORK_TYPE] not in [n_const.TYPE_VLAN, n_const.TYPE_FLAT] for net in networks)","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"47d778ed2167f0afe7705c3e42af58842f233a2c","unresolved":false,"context_lines":[{"line_number":770,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":771,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("},{"line_number":772,"context_line":"                        context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":773,"context_line":"                    for net in networks:"},{"line_number":774,"context_line":"                        if net.get(pnet.NETWORK_TYPE) not in ["},{"line_number":775,"context_line":"                                n_const.TYPE_VLAN, n_const.TYPE_FLAT]:"},{"line_number":776,"context_line":"                            # NOTE(ltomasbo): not all the networks connected"},{"line_number":777,"context_line":"                            # to the router are of vlan type, so we won\u0027t set"},{"line_number":778,"context_line":"                            # the redirect-type\u003dbridged on the router gateway"},{"line_number":779,"context_line":"                            # port, therefore we need to centralized the vlan"},{"line_number":780,"context_line":"                            # traffic to avoid tunneling"},{"line_number":781,"context_line":"                            expected_value \u003d \u0027true\u0027"},{"line_number":782,"context_line":"                            break"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(rp[\u0027id\u0027])"},{"line_number":785,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"08909949_8b15a166","line":782,"range":{"start_line":773,"start_character":0,"end_line":782,"end_character":33},"in_reply_to":"34f67706_846f4f87","updated":"2023-03-30 06:22:09.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":true,"context_lines":[{"line_number":770,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in r_ports}"},{"line_number":771,"context_line":"                    networks \u003d self._ovn_client._plugin.get_networks("},{"line_number":772,"context_line":"                        context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":773,"context_line":"                    for net in networks:"},{"line_number":774,"context_line":"                        if net.get(pnet.NETWORK_TYPE) not in ["},{"line_number":775,"context_line":"                                n_const.TYPE_VLAN, n_const.TYPE_FLAT]:"},{"line_number":776,"context_line":"                            # NOTE(ltomasbo): not all the networks connected"},{"line_number":777,"context_line":"                            # to the router are of vlan type, so we won\u0027t set"},{"line_number":778,"context_line":"                            # the redirect-type\u003dbridged on the router gateway"},{"line_number":779,"context_line":"                            # port, therefore we need to centralized the vlan"},{"line_number":780,"context_line":"                            # traffic to avoid tunneling"},{"line_number":781,"context_line":"                            expected_value \u003d \u0027true\u0027"},{"line_number":782,"context_line":"                            break"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"            lrp_name \u003d utils.ovn_lrouter_port_name(rp[\u0027id\u0027])"},{"line_number":785,"context_line":"            lrp \u003d self._nb_idl.get_lrouter_port(lrp_name)"}],"source_content_type":"text/x-python","patch_set":11,"id":"34f67706_846f4f87","line":782,"range":{"start_line":773,"start_character":0,"end_line":782,"end_character":33},"in_reply_to":"94aa3ff2_4ddfbaa6","updated":"2023-03-28 17:12:09.000000000","message":"same as before","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":691,"context_line":"            context, {\u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]})"},{"line_number":692,"context_line":"        for gw_port in gw_ports:"},{"line_number":693,"context_line":"            enable_redirect \u003d False"},{"line_number":694,"context_line":"            if ovn_conf.is_ovn_distributed_floating_ip():"},{"line_number":695,"context_line":"                try:"},{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"2e3732e1_ca194ac9","line":694,"range":{"start_line":694,"start_character":12,"end_line":694,"end_character":56},"updated":"2023-03-30 16:44:13.000000000","message":"nit: that check can be done at the beginning of the method and exit in the negative case","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"21d46643e8d46d0d18a5ff152e289e8f078d3bb6","unresolved":true,"context_lines":[{"line_number":691,"context_line":"            context, {\u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]})"},{"line_number":692,"context_line":"        for gw_port in gw_ports:"},{"line_number":693,"context_line":"            enable_redirect \u003d False"},{"line_number":694,"context_line":"            if ovn_conf.is_ovn_distributed_floating_ip():"},{"line_number":695,"context_line":"                try:"},{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"754c449b_30131022","line":694,"range":{"start_line":694,"start_character":12,"end_line":694,"end_character":56},"in_reply_to":"1dcc1a3b_ee49d11c","updated":"2023-04-03 10:20:54.000000000","message":"then we\u0027ll need to refactor this method. What I\u0027m saying is that we need to prevent this indentation. In any case, this is just a nit.","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":true,"context_lines":[{"line_number":691,"context_line":"            context, {\u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW]})"},{"line_number":692,"context_line":"        for gw_port in gw_ports:"},{"line_number":693,"context_line":"            enable_redirect \u003d False"},{"line_number":694,"context_line":"            if ovn_conf.is_ovn_distributed_floating_ip():"},{"line_number":695,"context_line":"                try:"},{"line_number":696,"context_line":"                    r_ports \u003d self._ovn_client._get_router_ports("},{"line_number":697,"context_line":"                        context, gw_port[\u0027device_id\u0027])"}],"source_content_type":"text/x-python","patch_set":16,"id":"1dcc1a3b_ee49d11c","line":694,"range":{"start_line":694,"start_character":12,"end_line":694,"end_character":56},"in_reply_to":"2e3732e1_ca194ac9","updated":"2023-03-31 05:47:54.000000000","message":"what if the value was disabled and we need to remove the flag (i.e., enable_redirect \u003d False)? We still do things if that is returning false","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":726,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":727,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":728,"context_line":"            else:"},{"line_number":729,"context_line":"                if (redirect_value and"},{"line_number":730,"context_line":"                        redirect_value \u003d\u003d ovn_const.BRIDGE_REDIRECT_TYPE):"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"25c073b1_87f332fc","line":729,"range":{"start_line":729,"start_character":20,"end_line":729,"end_character":38},"updated":"2023-03-30 16:44:13.000000000","message":"not needed, only \"redirect_value \u003d\u003d ovn_const.BRIDGE_REDIRECT_TYPE\" is relevant","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":false,"context_lines":[{"line_number":726,"context_line":"                    cmds.append(self._nb_idl.db_set("},{"line_number":727,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, (\u0027options\u0027, opt)))"},{"line_number":728,"context_line":"            else:"},{"line_number":729,"context_line":"                if (redirect_value and"},{"line_number":730,"context_line":"                        redirect_value \u003d\u003d ovn_const.BRIDGE_REDIRECT_TYPE):"},{"line_number":731,"context_line":"                    cmds.append(self._nb_idl.db_remove("},{"line_number":732,"context_line":"                        \u0027Logical_Router_Port\u0027, lrp_name, \u0027options\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"e554ce7c_8ca094bd","line":729,"range":{"start_line":729,"start_character":20,"end_line":729,"end_character":38},"in_reply_to":"25c073b1_87f332fc","updated":"2023-03-31 05:47:54.000000000","message":"thanks! I\u0027ll also do the same at line 722 as if the value is None it will also be different than ovn_const.BRIDGE_REDIRECT_TYPE","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":true,"context_lines":[{"line_number":1641,"context_line":"                    # still make it centralized."},{"line_number":1642,"context_line":"                    enable_redirect \u003d False"},{"line_number":1643,"context_line":"                    for net in networks:"},{"line_number":1644,"context_line":"                        if net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:"},{"line_number":1645,"context_line":"                            enable_redirect \u003d True"},{"line_number":1646,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:"},{"line_number":1647,"context_line":"                            enable_redirect \u003d False"},{"line_number":1648,"context_line":"                            break"},{"line_number":1649,"context_line":"                    if enable_redirect:"},{"line_number":1650,"context_line":"                        options[ovn_const.LRP_OPTIONS_REDIRECT_TYPE] \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"5a000dbc_150a0cd5","line":1647,"range":{"start_line":1644,"start_character":24,"end_line":1647,"end_character":51},"updated":"2023-03-28 10:25:50.000000000","message":"same here: You can do:\n\n    enable_redirect \u003d True\n    for net in networks:\n        if net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:\n            enable_redirect\u003dFalse\n            break\n            \nor You could even move that to the helper function like:\n\n    def enable_redirect_for_router(connected_networks):\n        for net in connected_networks:\n            if net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:\n                return False\n        return True","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"07e3c3db1769bf86c4738adea94121477080cf9c","unresolved":false,"context_lines":[{"line_number":1641,"context_line":"                    # still make it centralized."},{"line_number":1642,"context_line":"                    enable_redirect \u003d False"},{"line_number":1643,"context_line":"                    for net in networks:"},{"line_number":1644,"context_line":"                        if net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:"},{"line_number":1645,"context_line":"                            enable_redirect \u003d True"},{"line_number":1646,"context_line":"                        elif net.get(pnet.NETWORK_TYPE) !\u003d const.TYPE_VLAN:"},{"line_number":1647,"context_line":"                            enable_redirect \u003d False"},{"line_number":1648,"context_line":"                            break"},{"line_number":1649,"context_line":"                    if enable_redirect:"},{"line_number":1650,"context_line":"                        options[ovn_const.LRP_OPTIONS_REDIRECT_TYPE] \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"b973ad84_2f1e0339","line":1647,"range":{"start_line":1644,"start_character":24,"end_line":1647,"end_character":51},"in_reply_to":"5a000dbc_150a0cd5","updated":"2023-03-28 10:46:00.000000000","message":"same as in maintenance, idea is to keep it false if no networks attached. Anyway, I just saw a typo, it is suppose to be \"\u003d\u003d\" instead of \"!\u003d\"","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":1327,"context_line":"    def _get_router_gw_ports(self, context, router_id):"},{"line_number":1328,"context_line":"        # _get_router() will raise a RouterNotFound error if there\u0027s no router"},{"line_number":1329,"context_line":"        # with the router_id"},{"line_number":1330,"context_line":"        router_db \u003d self._l3_plugin._get_router(context, router_id)"},{"line_number":1331,"context_line":"        return [p.port for p in router_db.attached_ports"},{"line_number":1332,"context_line":"                if p.port_type \u003d\u003d const.DEVICE_OWNER_ROUTER_GW]"},{"line_number":1333,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"701976af_f59bb494","line":1330,"range":{"start_line":1330,"start_character":0,"end_line":1330,"end_character":67},"updated":"2023-03-28 14:21:43.000000000","message":"Wouldn\u0027t this work and avoid the loop below?\n\n return self._plugin.get_ports(context, filters\u003d{\n     \u0027device_owner\u0027: [n_const.DEVICE_OWNER_ROUTER_GW],\n     \u0027device_id\u0027: router_id})","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":false,"context_lines":[{"line_number":1327,"context_line":"    def _get_router_gw_ports(self, context, router_id):"},{"line_number":1328,"context_line":"        # _get_router() will raise a RouterNotFound error if there\u0027s no router"},{"line_number":1329,"context_line":"        # with the router_id"},{"line_number":1330,"context_line":"        router_db \u003d self._l3_plugin._get_router(context, router_id)"},{"line_number":1331,"context_line":"        return [p.port for p in router_db.attached_ports"},{"line_number":1332,"context_line":"                if p.port_type \u003d\u003d const.DEVICE_OWNER_ROUTER_GW]"},{"line_number":1333,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"a14c38a4_285b0bc4","line":1330,"range":{"start_line":1330,"start_character":0,"end_line":1330,"end_character":67},"in_reply_to":"701976af_f59bb494","updated":"2023-03-28 17:12:09.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7fe7a4bec7059722c4390e616611315397e5bec0","unresolved":true,"context_lines":[{"line_number":1587,"context_line":"        # distributed gateway port."},{"line_number":1588,"context_line":"        # https://github.com/openvswitch/ovs/commit/85706c34d53d4810f54bec1de662392a3c06a996"},{"line_number":1589,"context_line":"        if network.get(pnet.NETWORK_TYPE) \u003d\u003d const.TYPE_VLAN:"},{"line_number":1590,"context_line":"            reside_redir_ch \u003d \u0027true\u0027"},{"line_number":1591,"context_line":"            if ovn_conf.is_ovn_distributed_floating_ip():"},{"line_number":1592,"context_line":"                reside_redir_ch \u003d \u0027false\u0027"},{"line_number":1593,"context_line":"                try:"},{"line_number":1594,"context_line":"                    router_ports \u003d self._get_router_ports(admin_context,"},{"line_number":1595,"context_line":"                                                          port[\u0027device_id\u0027])"},{"line_number":1596,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":1597,"context_line":"                    LOG.debug(\"No Router %s not found\", port[\u0027device_id\u0027])"},{"line_number":1598,"context_line":"                else:"},{"line_number":1599,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1600,"context_line":"                    networks \u003d self._plugin.get_networks("},{"line_number":1601,"context_line":"                        admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1602,"context_line":"                    for net in networks:"},{"line_number":1603,"context_line":"                        if net.get(pnet.NETWORK_TYPE) not in [const.TYPE_VLAN,"},{"line_number":1604,"context_line":"                                                              const.TYPE_FLAT]:"},{"line_number":1605,"context_line":"                            # NOTE(ltomasbo): not all the networks connected"},{"line_number":1606,"context_line":"                            # to the router are of vlan type, so we won\u0027t set"},{"line_number":1607,"context_line":"                            # the redirect-type\u003dbridged on the router gateway"},{"line_number":1608,"context_line":"                            # port, therefore we need to centralized the vlan"},{"line_number":1609,"context_line":"                            # traffic to avoid tunneling"},{"line_number":1610,"context_line":"                            reside_redir_ch \u003d \u0027true\u0027"},{"line_number":1611,"context_line":"                            break"},{"line_number":1612,"context_line":"            options[ovn_const.LRP_OPTIONS_RESIDE_REDIR_CH] \u003d reside_redir_ch"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"        is_gw_port \u003d const.DEVICE_OWNER_ROUTER_GW \u003d\u003d port.get("}],"source_content_type":"text/x-python","patch_set":11,"id":"b8affc6a_f2078ea5","line":1611,"range":{"start_line":1590,"start_character":0,"end_line":1611,"end_character":33},"updated":"2023-03-28 14:21:43.000000000","message":"This code seems to be overlapping with the one in maintenance task, probably would be good to have a helper function and just call it instead of copy pasting","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"377172528524efa863b2ee0a9d0518b96905c037","unresolved":false,"context_lines":[{"line_number":1587,"context_line":"        # distributed gateway port."},{"line_number":1588,"context_line":"        # https://github.com/openvswitch/ovs/commit/85706c34d53d4810f54bec1de662392a3c06a996"},{"line_number":1589,"context_line":"        if network.get(pnet.NETWORK_TYPE) \u003d\u003d const.TYPE_VLAN:"},{"line_number":1590,"context_line":"            reside_redir_ch \u003d \u0027true\u0027"},{"line_number":1591,"context_line":"            if ovn_conf.is_ovn_distributed_floating_ip():"},{"line_number":1592,"context_line":"                reside_redir_ch \u003d \u0027false\u0027"},{"line_number":1593,"context_line":"                try:"},{"line_number":1594,"context_line":"                    router_ports \u003d self._get_router_ports(admin_context,"},{"line_number":1595,"context_line":"                                                          port[\u0027device_id\u0027])"},{"line_number":1596,"context_line":"                except l3_exc.RouterNotFound:"},{"line_number":1597,"context_line":"                    LOG.debug(\"No Router %s not found\", port[\u0027device_id\u0027])"},{"line_number":1598,"context_line":"                else:"},{"line_number":1599,"context_line":"                    network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1600,"context_line":"                    networks \u003d self._plugin.get_networks("},{"line_number":1601,"context_line":"                        admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1602,"context_line":"                    for net in networks:"},{"line_number":1603,"context_line":"                        if net.get(pnet.NETWORK_TYPE) not in [const.TYPE_VLAN,"},{"line_number":1604,"context_line":"                                                              const.TYPE_FLAT]:"},{"line_number":1605,"context_line":"                            # NOTE(ltomasbo): not all the networks connected"},{"line_number":1606,"context_line":"                            # to the router are of vlan type, so we won\u0027t set"},{"line_number":1607,"context_line":"                            # the redirect-type\u003dbridged on the router gateway"},{"line_number":1608,"context_line":"                            # port, therefore we need to centralized the vlan"},{"line_number":1609,"context_line":"                            # traffic to avoid tunneling"},{"line_number":1610,"context_line":"                            reside_redir_ch \u003d \u0027true\u0027"},{"line_number":1611,"context_line":"                            break"},{"line_number":1612,"context_line":"            options[ovn_const.LRP_OPTIONS_RESIDE_REDIR_CH] \u003d reside_redir_ch"},{"line_number":1613,"context_line":""},{"line_number":1614,"context_line":"        is_gw_port \u003d const.DEVICE_OWNER_ROUTER_GW \u003d\u003d port.get("}],"source_content_type":"text/x-python","patch_set":11,"id":"e1b20508_14a77a64","line":1611,"range":{"start_line":1590,"start_character":0,"end_line":1611,"end_character":33},"in_reply_to":"b8affc6a_f2078ea5","updated":"2023-03-28 17:12:09.000000000","message":"Done","commit_id":"e476f046e195c42feb86ab12babfcb740e648862"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":1583,"context_line":"                LOG.debug(\"No Router %s not found\", device_id)"},{"line_number":1584,"context_line":"            else:"},{"line_number":1585,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1586,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1587,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1588,"context_line":""},{"line_number":1589,"context_line":"                # NOTE(ltomasbo): not all the networks connected to the router"},{"line_number":1590,"context_line":"                # are of vlan type, so we won\u0027t set the redirect-type\u003dbridged"}],"source_content_type":"text/x-python","patch_set":16,"id":"b4a9ba40_7d397ba1","line":1587,"range":{"start_line":1586,"start_character":16,"end_line":1587,"end_character":63},"updated":"2023-03-30 16:44:13.000000000","message":"nit (for a follow-up patch): create a list of network types, excluding vlan and flat and use it as filter","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":1591,"context_line":"                # on the router gateway port, therefore we need to centralized"},{"line_number":1592,"context_line":"                # the vlan traffic to avoid tunneling"},{"line_number":1593,"context_line":"                if networks:"},{"line_number":1594,"context_line":"                    reside_redir_ch \u003d any("},{"line_number":1595,"context_line":"                        net.get(pnet.NETWORK_TYPE) not in [const.TYPE_VLAN,"},{"line_number":1596,"context_line":"                                                           const.TYPE_FLAT]"},{"line_number":1597,"context_line":"                        for net in networks)"},{"line_number":1598,"context_line":"        return reside_redir_ch"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def _gen_router_port_options(self, port, network\u003dNone):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f916a99_b471b7bb","line":1597,"range":{"start_line":1594,"start_character":38,"end_line":1597,"end_character":44},"updated":"2023-03-30 16:44:13.000000000","message":"***be careful***: that returns a boolean object, not a string \"true\" or \"false\"","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"39786e718133ea42c151b62c59344ccb0e3ea8a4","unresolved":true,"context_lines":[{"line_number":1591,"context_line":"                # on the router gateway port, therefore we need to centralized"},{"line_number":1592,"context_line":"                # the vlan traffic to avoid tunneling"},{"line_number":1593,"context_line":"                if networks:"},{"line_number":1594,"context_line":"                    reside_redir_ch \u003d any("},{"line_number":1595,"context_line":"                        net.get(pnet.NETWORK_TYPE) not in [const.TYPE_VLAN,"},{"line_number":1596,"context_line":"                                                           const.TYPE_FLAT]"},{"line_number":1597,"context_line":"                        for net in networks)"},{"line_number":1598,"context_line":"        return reside_redir_ch"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def _gen_router_port_options(self, port, network\u003dNone):"}],"source_content_type":"text/x-python","patch_set":16,"id":"88a874ce_bfb50665","line":1597,"range":{"start_line":1594,"start_character":38,"end_line":1597,"end_character":44},"in_reply_to":"3f916a99_b471b7bb","updated":"2023-03-30 19:06:15.000000000","message":"Good catch, we need to unittest this.","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"                # on the router gateway port, therefore we need to centralized"},{"line_number":1592,"context_line":"                # the vlan traffic to avoid tunneling"},{"line_number":1593,"context_line":"                if networks:"},{"line_number":1594,"context_line":"                    reside_redir_ch \u003d any("},{"line_number":1595,"context_line":"                        net.get(pnet.NETWORK_TYPE) not in [const.TYPE_VLAN,"},{"line_number":1596,"context_line":"                                                           const.TYPE_FLAT]"},{"line_number":1597,"context_line":"                        for net in networks)"},{"line_number":1598,"context_line":"        return reside_redir_ch"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def _gen_router_port_options(self, port, network\u003dNone):"}],"source_content_type":"text/x-python","patch_set":16,"id":"40e050f4_81de719b","line":1597,"range":{"start_line":1594,"start_character":38,"end_line":1597,"end_character":44},"in_reply_to":"88a874ce_bfb50665","updated":"2023-03-31 05:47:54.000000000","message":"Done","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ee1bed493694eb7bfbbef26c94abb62f25d265bf","unresolved":true,"context_lines":[{"line_number":1629,"context_line":"            else:"},{"line_number":1630,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1631,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1632,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1633,"context_line":"                if ovn_conf.is_ovn_emit_need_to_frag_enabled():"},{"line_number":1634,"context_line":"                    for net in networks:"},{"line_number":1635,"context_line":"                        if net[\u0027mtu\u0027] \u003e network[\u0027mtu\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"f14b4c5f_14db7c2b","line":1632,"range":{"start_line":1632,"start_character":35,"end_line":1632,"end_character":62},"updated":"2023-03-30 16:44:13.000000000","message":"use a filter:\n  \n\n filters\u003d{\u0027id\u0027: network_ids,\n          pnet.NETWORK_TYPE: [const.TYPE_VLAN, const.TYPE_FLAT]})","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"bf56706163214d71c2c874083cfe14a5321458f3","unresolved":true,"context_lines":[{"line_number":1629,"context_line":"            else:"},{"line_number":1630,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1631,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1632,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1633,"context_line":"                if ovn_conf.is_ovn_emit_need_to_frag_enabled():"},{"line_number":1634,"context_line":"                    for net in networks:"},{"line_number":1635,"context_line":"                        if net[\u0027mtu\u0027] \u003e network[\u0027mtu\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"fa4c3e67_9668120f","line":1632,"range":{"start_line":1632,"start_character":35,"end_line":1632,"end_character":62},"in_reply_to":"0809fa10_33f795e7","updated":"2023-03-31 05:47:54.000000000","message":"not sure how to use the filter here, idea is to get the non vlan/flat networks as that would set the flag to true/false. The cases are:\n- No networks: enable_redirect \u003d False\n- Only networks of type vlan or flat: enable_redirect \u003d True\n- Also networks that are different from vlan/flat: enable_redirect \u003d False","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"8b249c7032e7c4fd6619da658def5aff01f74d4a","unresolved":true,"context_lines":[{"line_number":1629,"context_line":"            else:"},{"line_number":1630,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1631,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1632,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1633,"context_line":"                if ovn_conf.is_ovn_emit_need_to_frag_enabled():"},{"line_number":1634,"context_line":"                    for net in networks:"},{"line_number":1635,"context_line":"                        if net[\u0027mtu\u0027] \u003e network[\u0027mtu\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"c06936aa_1ed61935","line":1632,"range":{"start_line":1632,"start_character":35,"end_line":1632,"end_character":62},"in_reply_to":"715741c7_0fabc77c","updated":"2023-04-03 10:24:45.000000000","message":"my point is that if we filter to only get the vlan and flat networks, then the check at line 1650 will be always true as we removed from networks the non vlan/flat networks","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"39786e718133ea42c151b62c59344ccb0e3ea8a4","unresolved":true,"context_lines":[{"line_number":1629,"context_line":"            else:"},{"line_number":1630,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1631,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1632,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1633,"context_line":"                if ovn_conf.is_ovn_emit_need_to_frag_enabled():"},{"line_number":1634,"context_line":"                    for net in networks:"},{"line_number":1635,"context_line":"                        if net[\u0027mtu\u0027] \u003e network[\u0027mtu\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"0809fa10_33f795e7","line":1632,"range":{"start_line":1632,"start_character":35,"end_line":1632,"end_character":62},"in_reply_to":"f14b4c5f_14db7c2b","updated":"2023-03-30 19:06:15.000000000","message":"wow, this is neat :)","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"21d46643e8d46d0d18a5ff152e289e8f078d3bb6","unresolved":true,"context_lines":[{"line_number":1629,"context_line":"            else:"},{"line_number":1630,"context_line":"                network_ids \u003d {port[\u0027network_id\u0027] for port in router_ports}"},{"line_number":1631,"context_line":"                networks \u003d self._plugin.get_networks("},{"line_number":1632,"context_line":"                    admin_context, filters\u003d{\u0027id\u0027: network_ids})"},{"line_number":1633,"context_line":"                if ovn_conf.is_ovn_emit_need_to_frag_enabled():"},{"line_number":1634,"context_line":"                    for net in networks:"},{"line_number":1635,"context_line":"                        if net[\u0027mtu\u0027] \u003e network[\u0027mtu\u0027]:"}],"source_content_type":"text/x-python","patch_set":16,"id":"715741c7_0fabc77c","line":1632,"range":{"start_line":1632,"start_character":35,"end_line":1632,"end_character":62},"in_reply_to":"fa4c3e67_9668120f","updated":"2023-04-03 10:20:54.000000000","message":"The filter is used in the get_networks method, as commented before, adding a new paremeter in filters dict. We can improve that in a follow-up patch","commit_id":"35278d2dca928e80a52cca2229605a45e28889cd"}],"releasenotes/notes/redirect-type-f29e89ca97357fe9.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"1fb5481a15bf810e8c95faf4371edb67cde600cd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The redirect-type\u003dbridge option is only used if all the tenant networks"},{"line_number":5,"context_line":"    connected to the router are of type VLAN. In this case their traffic will"},{"line_number":6,"context_line":"    be distributed. However, if there is a mix of vlan and geneve networks"},{"line_number":7,"context_line":"    connected to the same router, the redirect-type option is not set, and"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"c9b846b6_34ff200b","line":4,"range":{"start_line":4,"start_character":8,"end_line":4,"end_character":28},"updated":"2023-03-28 10:25:50.000000000","message":"nit: this IMO can be put into `` `` so it will be highlighter in the rendered HTML page.","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"07e3c3db1769bf86c4738adea94121477080cf9c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"issues:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The redirect-type\u003dbridge option is only used if all the tenant networks"},{"line_number":5,"context_line":"    connected to the router are of type VLAN. In this case their traffic will"},{"line_number":6,"context_line":"    be distributed. However, if there is a mix of vlan and geneve networks"},{"line_number":7,"context_line":"    connected to the same router, the redirect-type option is not set, and"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"cffd226d_b38da073","line":4,"range":{"start_line":4,"start_character":8,"end_line":4,"end_character":28},"in_reply_to":"c9b846b6_34ff200b","updated":"2023-03-28 10:46:00.000000000","message":"Done","commit_id":"e545070f73c3e28f43139e1535c6df80963bf173"}]}
