)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"67f22f328fe6c85775884954428282128e63cef7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"66e58027_ab77a183","updated":"2023-11-10 09:22:24.000000000","message":"this is also ready","commit_id":"19cac1f3b6032a0a460b08352fb5f070e79b83c5"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c413b37e4fb27e20ae3526d4bae98ee5e8c23156","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0054a4b5_356a3281","updated":"2023-11-15 16:08:44.000000000","message":"Thanks Luis, comments inline","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"}],"ovn_bgp_agent/drivers/openstack/nb_ovn_bgp_driver.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c413b37e4fb27e20ae3526d4bae98ee5e8c23156","unresolved":true,"context_lines":[{"line_number":480,"context_line":"                        constants.OVN_LS_NAME_EXT_ID_KEY),"},{"line_number":481,"context_line":"                    \u0027address_scopes\u0027: driver_utils.get_addr_scopes(port)}"},{"line_number":482,"context_line":"                self._withdraw_subnet(ips, subnet_info)"},{"line_number":483,"context_line":"            # withdraw routes/ips for OVN loadbalancers"},{"line_number":484,"context_line":"            lbs \u003d self.nb_idl.get_active_local_lbs([ips_info[\u0027router\u0027]])"},{"line_number":485,"context_line":"            for lb in lbs:"},{"line_number":486,"context_line":"                self._withdraw_ovn_lb_vip(lb)"},{"line_number":487,"context_line":"                # if vip-fip withdraw fip too"},{"line_number":488,"context_line":"                if lb.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY):"},{"line_number":489,"context_line":"                    self._withdraw_ovn_lb_fip(lb)"},{"line_number":490,"context_line":"            try:"},{"line_number":491,"context_line":"                del self.ovn_local_cr_lrps[ips_info[\u0027router\u0027]]"},{"line_number":492,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":8,"id":"654e1d4f_08749f9b","line":489,"range":{"start_line":483,"start_character":0,"end_line":489,"end_character":49},"updated":"2023-11-15 16:08:44.000000000","message":"Wonder if we could make this a helper method ? \n\nThis same block of code is also used at L207-L213 and L417-L423\n\n```\ndef _expose_lbs(self, router_list):\n    lbs \u003d self.nb_idl.get_active_local_lbs(router_list)\n    for lb in lbs:\n        self._expose_ovn_lb_vip(lb)\n        # if vip-fip expose fip too\n        if lb.external_ids.get(\n                  cconstants.OVN_LB_VIP_FIP_EXT_ID_KEY):\n            self._expose_ovn_lb_fip(lb)\n\n```","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f89a475b2dcb7f16e0ded39da896e1f089cb6d69","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                        constants.OVN_LS_NAME_EXT_ID_KEY),"},{"line_number":481,"context_line":"                    \u0027address_scopes\u0027: driver_utils.get_addr_scopes(port)}"},{"line_number":482,"context_line":"                self._withdraw_subnet(ips, subnet_info)"},{"line_number":483,"context_line":"            # withdraw routes/ips for OVN loadbalancers"},{"line_number":484,"context_line":"            lbs \u003d self.nb_idl.get_active_local_lbs([ips_info[\u0027router\u0027]])"},{"line_number":485,"context_line":"            for lb in lbs:"},{"line_number":486,"context_line":"                self._withdraw_ovn_lb_vip(lb)"},{"line_number":487,"context_line":"                # if vip-fip withdraw fip too"},{"line_number":488,"context_line":"                if lb.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY):"},{"line_number":489,"context_line":"                    self._withdraw_ovn_lb_fip(lb)"},{"line_number":490,"context_line":"            try:"},{"line_number":491,"context_line":"                del self.ovn_local_cr_lrps[ips_info[\u0027router\u0027]]"},{"line_number":492,"context_line":"            except KeyError:"}],"source_content_type":"text/x-python","patch_set":8,"id":"ee2b7b80_3f5f7c5d","line":489,"range":{"start_line":483,"start_character":0,"end_line":489,"end_character":49},"in_reply_to":"654e1d4f_08749f9b","updated":"2023-11-16 07:26:57.000000000","message":"right, this one is about withdrawing it, but I get the point, I\u0027ll make one for _expose_lbs and one for _withdraw_lbs","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"}],"ovn_bgp_agent/drivers/openstack/watchers/base_watcher.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c413b37e4fb27e20ae3526d4bae98ee5e8c23156","unresolved":true,"context_lines":[{"line_number":51,"context_line":"        self.event_name \u003d self.__class__.__name__"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _get_router(self, row):"},{"line_number":54,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"},{"line_number":55,"context_line":"                row.external_ids.get(constants.OVN_LB_LR_REF_EXT_ID_KEY)):"},{"line_number":56,"context_line":"            return row.external_ids["},{"line_number":57,"context_line":"                constants.OVN_LB_LR_REF_EXT_ID_KEY].replace(\u0027neutron-\u0027, \"\", 1)"},{"line_number":58,"context_line":"        return None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_vip_fip(self, row):"},{"line_number":61,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"}],"source_content_type":"text/x-python","patch_set":8,"id":"e2ec5bab_b78272f7","line":58,"range":{"start_line":54,"start_character":0,"end_line":58,"end_character":19},"updated":"2023-11-15 16:08:44.000000000","message":"We can use some EAFP approach here, that would remove the extra condition check\n\n```\ntry:\n    return row.external_ids[\n                constants.OVN_LB_LR_REF_EXT_ID_KEY].replace(\u0027neutron-\u0027, \"\", 1)\nexcept (AttributeError, KeyError):\n     return\n```","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f89a475b2dcb7f16e0ded39da896e1f089cb6d69","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        self.event_name \u003d self.__class__.__name__"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def _get_router(self, row):"},{"line_number":54,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"},{"line_number":55,"context_line":"                row.external_ids.get(constants.OVN_LB_LR_REF_EXT_ID_KEY)):"},{"line_number":56,"context_line":"            return row.external_ids["},{"line_number":57,"context_line":"                constants.OVN_LB_LR_REF_EXT_ID_KEY].replace(\u0027neutron-\u0027, \"\", 1)"},{"line_number":58,"context_line":"        return None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_vip_fip(self, row):"},{"line_number":61,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"}],"source_content_type":"text/x-python","patch_set":8,"id":"67a9e7fb_f3d6a4e9","line":58,"range":{"start_line":54,"start_character":0,"end_line":58,"end_character":19},"in_reply_to":"e2ec5bab_b78272f7","updated":"2023-11-16 07:26:57.000000000","message":"Done","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"c413b37e4fb27e20ae3526d4bae98ee5e8c23156","unresolved":true,"context_lines":[{"line_number":58,"context_line":"        return None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_vip_fip(self, row):"},{"line_number":61,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"},{"line_number":62,"context_line":"                row.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY)):"},{"line_number":63,"context_line":"            return row.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY)"},{"line_number":64,"context_line":"        return None"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class LSPChassisEvent(Event):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7496b120_8e3140a1","line":64,"range":{"start_line":61,"start_character":0,"end_line":64,"end_character":19},"updated":"2023-11-15 16:08:44.000000000","message":"ditto EAFP","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f89a475b2dcb7f16e0ded39da896e1f089cb6d69","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return None"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _get_vip_fip(self, row):"},{"line_number":61,"context_line":"        if (hasattr(row, \u0027external_ids\u0027) and"},{"line_number":62,"context_line":"                row.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY)):"},{"line_number":63,"context_line":"            return row.external_ids.get(constants.OVN_LB_VIP_FIP_EXT_ID_KEY)"},{"line_number":64,"context_line":"        return None"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class LSPChassisEvent(Event):"}],"source_content_type":"text/x-python","patch_set":8,"id":"708b9501_143fbd3f","line":64,"range":{"start_line":61,"start_character":0,"end_line":64,"end_character":19},"in_reply_to":"7496b120_8e3140a1","updated":"2023-11-16 07:26:57.000000000","message":"Done","commit_id":"4d42ed84179c4533c9ba60d0283302994da04ad6"}]}
