)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"884724a7e67acbd394af9d984f006186f0c815cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6772ef8f_d52abf1a","updated":"2023-06-27 06:15:18.000000000","message":"recheck openstack-tox-functional-with-sudo unrelated","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"85dfc758465031f2456dcd7f00fb20dd05c71230","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"037b29d6_299a7397","updated":"2023-06-27 10:13:15.000000000","message":"-1 just for visibility","commit_id":"46622c28b870c69b86fa7d53b598b9bbfc045e40"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"8bbe44dd15825b4cdd2dd51758b487840c4c7797","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dc000040_4ed98182","updated":"2023-06-28 08:50:13.000000000","message":"Thank you!","commit_id":"6c765fcd66e3f29c0120b5e07ade3d8da823ff2a"}],"ovn_bgp_agent/drivers/openstack/ovn_bgp_driver.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ea92e646e1af8469474f2b19c45e50b37df6b5c5","unresolved":true,"context_lines":[{"line_number":174,"context_line":"                            bridge_mapping)"},{"line_number":175,"context_line":"                continue"},{"line_number":176,"context_line":"            network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":177,"context_line":"            bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":178,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if not extra_routes.get(bridge):"}],"source_content_type":"text/x-python","patch_set":3,"id":"c31476ce_e6b4f6b6","line":177,"updated":"2023-06-27 09:14:42.000000000","message":"To save some operations on string manipulation\n\n```\ntry:\n    network, bridge \u003d bridge_mapping.split(\":\")\nexcept ValueError:\n    LOG.warning(\"Incorrect bridge mapping settings: %s\", bridge_mapping)\n    continue\n\n```","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7023ac463eb6a89d45bcd7dfb383136b27475d66","unresolved":false,"context_lines":[{"line_number":174,"context_line":"                            bridge_mapping)"},{"line_number":175,"context_line":"                continue"},{"line_number":176,"context_line":"            network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":177,"context_line":"            bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":178,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if not extra_routes.get(bridge):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a85adb1_a427b1ad","line":177,"in_reply_to":"c31476ce_e6b4f6b6","updated":"2023-06-27 09:56:25.000000000","message":"Done","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"85dfc758465031f2456dcd7f00fb20dd05c71230","unresolved":true,"context_lines":[{"line_number":169,"context_line":"        extra_routes \u003d {}"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        for bridge_index, bridge_mapping in enumerate(bridge_mappings, 1):"},{"line_number":172,"context_line":"            try:"},{"line_number":173,"context_line":"                network, bridge \u003d bridge_mapping.split(\":\")"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                LOG.warning(\"Incorrect bridge mapping settings: %s\","},{"line_number":176,"context_line":"                            bridge_mapping)"},{"line_number":177,"context_line":"                continue"},{"line_number":178,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if not extra_routes.get(bridge):"}],"source_content_type":"text/x-python","patch_set":4,"id":"25e95895_dd3c2091","line":177,"range":{"start_line":172,"start_character":12,"end_line":177,"end_character":24},"updated":"2023-06-27 10:13:15.000000000","message":"You should implement an auxiliary method (with proper UT). You are using it 3 times in this repo.\n\nNote: you can use n-lib.utils.helpers.parse_mappings, same as in several places in Neutron.","commit_id":"46622c28b870c69b86fa7d53b598b9bbfc045e40"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"775cd665a3ee925f24ddfaa84a9f4bcefecaced9","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        extra_routes \u003d {}"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        for bridge_index, bridge_mapping in enumerate(bridge_mappings, 1):"},{"line_number":172,"context_line":"            try:"},{"line_number":173,"context_line":"                network, bridge \u003d bridge_mapping.split(\":\")"},{"line_number":174,"context_line":"            except ValueError:"},{"line_number":175,"context_line":"                LOG.warning(\"Incorrect bridge mapping settings: %s\","},{"line_number":176,"context_line":"                            bridge_mapping)"},{"line_number":177,"context_line":"                continue"},{"line_number":178,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"            if not extra_routes.get(bridge):"}],"source_content_type":"text/x-python","patch_set":4,"id":"33899120_768f26ca","line":177,"range":{"start_line":172,"start_character":12,"end_line":177,"end_character":24},"in_reply_to":"25e95895_dd3c2091","updated":"2023-06-28 08:34:16.000000000","message":"Done","commit_id":"46622c28b870c69b86fa7d53b598b9bbfc045e40"}],"ovn_bgp_agent/drivers/openstack/ovn_evpn_driver.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ea92e646e1af8469474f2b19c45e50b37df6b5c5","unresolved":true,"context_lines":[{"line_number":132,"context_line":"                            bridge_mapping)"},{"line_number":133,"context_line":"                continue"},{"line_number":134,"context_line":"            network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":135,"context_line":"            bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":136,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"            linux_net.ensure_arp_ndp_enabled_for_bridge(bridge, bridge_index)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0595a82c_4177f51c","line":135,"updated":"2023-06-27 09:14:42.000000000","message":"ditto, try...except","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7023ac463eb6a89d45bcd7dfb383136b27475d66","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                            bridge_mapping)"},{"line_number":133,"context_line":"                continue"},{"line_number":134,"context_line":"            network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":135,"context_line":"            bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":136,"context_line":"            self.ovn_bridge_mappings[network] \u003d bridge"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"            linux_net.ensure_arp_ndp_enabled_for_bridge(bridge, bridge_index)"}],"source_content_type":"text/x-python","patch_set":3,"id":"553fbc71_72502922","line":135,"in_reply_to":"0595a82c_4177f51c","updated":"2023-06-27 09:56:25.000000000","message":"Done","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"}],"ovn_bgp_agent/drivers/openstack/utils/wire.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"ea92e646e1af8469474f2b19c45e50b37df6b5c5","unresolved":true,"context_lines":[{"line_number":42,"context_line":"                        bridge_mapping)"},{"line_number":43,"context_line":"            continue"},{"line_number":44,"context_line":"        network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":45,"context_line":"        bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":46,"context_line":"        ovn_bridge_mappings[network] \u003d bridge"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        linux_net.ensure_routing_table_for_bridge("}],"source_content_type":"text/x-python","patch_set":3,"id":"07a48b8f_89819dba","line":45,"updated":"2023-06-27 09:14:42.000000000","message":"ditto","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"7023ac463eb6a89d45bcd7dfb383136b27475d66","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                        bridge_mapping)"},{"line_number":43,"context_line":"            continue"},{"line_number":44,"context_line":"        network \u003d bridge_mapping.split(\":\")[0]"},{"line_number":45,"context_line":"        bridge \u003d bridge_mapping.split(\":\")[1]"},{"line_number":46,"context_line":"        ovn_bridge_mappings[network] \u003d bridge"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        linux_net.ensure_routing_table_for_bridge("}],"source_content_type":"text/x-python","patch_set":3,"id":"e472906a_eef1c592","line":45,"in_reply_to":"07a48b8f_89819dba","updated":"2023-06-27 09:56:25.000000000","message":"Done","commit_id":"a666d5110269d5d157db25d382ab0702ea66aedc"}],"ovn_bgp_agent/utils/helpers.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"ea6e254d4bf5ce362561d6b4b17edfa33bfe7968","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def parse_bridge_mapping(bridge_mapping):"},{"line_number":21,"context_line":"    try:"},{"line_number":22,"context_line":"        network, bridge \u003d bridge_mapping.split(\":\")"},{"line_number":23,"context_line":"    except ValueError:"},{"line_number":24,"context_line":"        LOG.warning(\"Incorrect bridge mapping settings: %s\","},{"line_number":25,"context_line":"                    bridge_mapping)"}],"source_content_type":"text/x-python","patch_set":5,"id":"f15014f9_726a0a66","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":11},"updated":"2023-06-29 07:16:16.000000000","message":"nit: I would use n-lib parse_mappings, is more robust","commit_id":"6c765fcd66e3f29c0120b5e07ade3d8da823ff2a"}]}
