)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"459ca569d88a5f59991b4eeca76342b03d62fbfc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"d702261a_5bf27a91","updated":"2025-02-18 18:17:54.000000000","message":"Thanks!","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"23df1805_3607935c","updated":"2025-02-18 20:39:08.000000000","message":"recheck after merging https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/941928","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"be4c4353f9ce100eafc31f4e51ec73bd23325c22","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"27f7813a_ad93d971","updated":"2025-02-19 11:27:47.000000000","message":"recheck after tempest fix merged","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"}],"ovn_octavia_provider/driver.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9bb0593b658135359b9322f52b3ce1cde7de4bd8","unresolved":true,"context_lines":[{"line_number":794,"context_line":""},{"line_number":795,"context_line":"        # Try to get FIP from neutron"},{"line_number":796,"context_line":"        neutron_client \u003d clients.get_neutron_client()"},{"line_number":797,"context_line":"        try:"},{"line_number":798,"context_line":"            fips \u003d list(neutron_client.ips("},{"line_number":799,"context_line":"                port_id\u003dloadbalancer.vip_port_id))"},{"line_number":800,"context_line":"        except openstack.exceptions.HttpException as e:"},{"line_number":801,"context_line":"            LOG.warn(\"Error on fetch fip for \""},{"line_number":802,"context_line":"                     f\"{loadbalancer.loadbalancer_id}, skip FIP sync. \""},{"line_number":803,"context_line":"                     f\"Error: {str(e)}\")"},{"line_number":804,"context_line":"            return False"},{"line_number":805,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        # get fip from lsp"}],"source_content_type":"text/x-python","patch_set":21,"id":"3ed64daa_e9306fdc","line":804,"range":{"start_line":797,"start_character":8,"end_line":804,"end_character":24},"updated":"2025-01-07 09:52:08.000000000","message":"This should be a method in ``helpers``","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"882e369088bc12e90d9d9802b6ff963fdf22d085","unresolved":false,"context_lines":[{"line_number":794,"context_line":""},{"line_number":795,"context_line":"        # Try to get FIP from neutron"},{"line_number":796,"context_line":"        neutron_client \u003d clients.get_neutron_client()"},{"line_number":797,"context_line":"        try:"},{"line_number":798,"context_line":"            fips \u003d list(neutron_client.ips("},{"line_number":799,"context_line":"                port_id\u003dloadbalancer.vip_port_id))"},{"line_number":800,"context_line":"        except openstack.exceptions.HttpException as e:"},{"line_number":801,"context_line":"            LOG.warn(\"Error on fetch fip for \""},{"line_number":802,"context_line":"                     f\"{loadbalancer.loadbalancer_id}, skip FIP sync. \""},{"line_number":803,"context_line":"                     f\"Error: {str(e)}\")"},{"line_number":804,"context_line":"            return False"},{"line_number":805,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        # get fip from lsp"}],"source_content_type":"text/x-python","patch_set":21,"id":"d3c735f5_cf68caf7","line":804,"range":{"start_line":797,"start_character":8,"end_line":804,"end_character":24},"in_reply_to":"3ed64daa_e9306fdc","updated":"2025-01-14 18:27:25.000000000","message":"Done","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9bb0593b658135359b9322f52b3ce1cde7de4bd8","unresolved":true,"context_lines":[{"line_number":805,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        # get fip from lsp"},{"line_number":808,"context_line":"        vip_lp \u003d self._ovn_helper._get_lsp("},{"line_number":809,"context_line":"            port_id\u003dloadbalancer.vip_port_id,"},{"line_number":810,"context_line":"            network_id\u003dloadbalancer.vip_network_id)"},{"line_number":811,"context_line":"        lsp_fip \u003d vip_lp.external_ids.get("}],"source_content_type":"text/x-python","patch_set":21,"id":"d31f6747_c1b97976","line":808,"range":{"start_line":808,"start_character":8,"end_line":808,"end_character":14},"updated":"2025-01-07 09:52:08.000000000","message":"vip_lsp","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"882e369088bc12e90d9d9802b6ff963fdf22d085","unresolved":false,"context_lines":[{"line_number":805,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":806,"context_line":""},{"line_number":807,"context_line":"        # get fip from lsp"},{"line_number":808,"context_line":"        vip_lp \u003d self._ovn_helper._get_lsp("},{"line_number":809,"context_line":"            port_id\u003dloadbalancer.vip_port_id,"},{"line_number":810,"context_line":"            network_id\u003dloadbalancer.vip_network_id)"},{"line_number":811,"context_line":"        lsp_fip \u003d vip_lp.external_ids.get("}],"source_content_type":"text/x-python","patch_set":21,"id":"95aaf338_d34844c5","line":808,"range":{"start_line":808,"start_character":8,"end_line":808,"end_character":14},"in_reply_to":"d31f6747_c1b97976","updated":"2025-01-14 18:27:25.000000000","message":"Done","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9bb0593b658135359b9322f52b3ce1cde7de4bd8","unresolved":true,"context_lines":[{"line_number":812,"context_line":"            ovn_const.OVN_PORT_FIP_EXT_ID_KEY) if vip_lp else None"},{"line_number":813,"context_line":""},{"line_number":814,"context_line":"        if neutron_fip:"},{"line_number":815,"context_line":"            if not lsp_fip:"},{"line_number":816,"context_line":"                LOG.warn("},{"line_number":817,"context_line":"                    \"Logic Switch Port not found for port \""},{"line_number":818,"context_line":"                    f\"{loadbalancer.vip_port_id}. \""}],"source_content_type":"text/x-python","patch_set":21,"id":"e80ff72e_1f100cae","line":815,"range":{"start_line":815,"start_character":19,"end_line":815,"end_character":26},"updated":"2025-01-07 09:52:08.000000000","message":"This should be vip_lp","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"882e369088bc12e90d9d9802b6ff963fdf22d085","unresolved":false,"context_lines":[{"line_number":812,"context_line":"            ovn_const.OVN_PORT_FIP_EXT_ID_KEY) if vip_lp else None"},{"line_number":813,"context_line":""},{"line_number":814,"context_line":"        if neutron_fip:"},{"line_number":815,"context_line":"            if not lsp_fip:"},{"line_number":816,"context_line":"                LOG.warn("},{"line_number":817,"context_line":"                    \"Logic Switch Port not found for port \""},{"line_number":818,"context_line":"                    f\"{loadbalancer.vip_port_id}. \""}],"source_content_type":"text/x-python","patch_set":21,"id":"48472141_5fa26324","line":815,"range":{"start_line":815,"start_character":19,"end_line":815,"end_character":26},"in_reply_to":"e80ff72e_1f100cae","updated":"2025-01-14 18:27:25.000000000","message":"Done","commit_id":"5c717064a2dd238926b59f3c6dfcad23c289432d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":804,"context_line":"        if not loadbalancer.vip_port_id or not loadbalancer.vip_network_id:"},{"line_number":805,"context_line":"            LOG.debug(\"VIP Port or Network not set for loadbalancer \""},{"line_number":806,"context_line":"                      f\"{loadbalancer.loadbalancer_id}, skip FIP sync.\")"},{"line_number":807,"context_line":"            return False"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # Try to get FIP from neutron"},{"line_number":810,"context_line":"        fips \u003d self._ovn_helper._get_fip_from_vip(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":31,"id":"80a38d1f_bdfe393e","line":807,"range":{"start_line":807,"start_character":19,"end_line":807,"end_character":24},"updated":"2025-02-17 17:02:03.000000000","message":"This is unused and also makes no sense for a sync method to return booleans.","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":804,"context_line":"        if not loadbalancer.vip_port_id or not loadbalancer.vip_network_id:"},{"line_number":805,"context_line":"            LOG.debug(\"VIP Port or Network not set for loadbalancer \""},{"line_number":806,"context_line":"                      f\"{loadbalancer.loadbalancer_id}, skip FIP sync.\")"},{"line_number":807,"context_line":"            return False"},{"line_number":808,"context_line":""},{"line_number":809,"context_line":"        # Try to get FIP from neutron"},{"line_number":810,"context_line":"        fips \u003d self._ovn_helper._get_fip_from_vip(loadbalancer)"}],"source_content_type":"text/x-python","patch_set":31,"id":"90c43847_4e3ad6c7","line":807,"range":{"start_line":807,"start_character":19,"end_line":807,"end_character":24},"in_reply_to":"80a38d1f_bdfe393e","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":809,"context_line":"        # Try to get FIP from neutron"},{"line_number":810,"context_line":"        fips \u003d self._ovn_helper._get_fip_from_vip(loadbalancer)"},{"line_number":811,"context_line":"        if not fips:"},{"line_number":812,"context_line":"            LOG.warn(\"Floating IP not found for loadbalancer \""},{"line_number":813,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":814,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":815,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"d5f1acc1_9ce7f5f6","line":812,"range":{"start_line":812,"start_character":16,"end_line":812,"end_character":20},"updated":"2025-02-17 17:02:03.000000000","message":"Is it correct to have a warning here? What if the loadbalancer is on a provider network and uses the VIP directly?","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":true,"context_lines":[{"line_number":809,"context_line":"        # Try to get FIP from neutron"},{"line_number":810,"context_line":"        fips \u003d self._ovn_helper._get_fip_from_vip(loadbalancer)"},{"line_number":811,"context_line":"        if not fips:"},{"line_number":812,"context_line":"            LOG.warn(\"Floating IP not found for loadbalancer \""},{"line_number":813,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":814,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":815,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"1310ea87_f8051f0a","line":812,"range":{"start_line":812,"start_character":16,"end_line":812,"end_character":20},"in_reply_to":"d5f1acc1_9ce7f5f6","updated":"2025-02-18 20:39:08.000000000","message":"IIUC the question... if the LB is on a provider network its VIP will be on provider network, it could have or not a FIP assigned to the LB VIP port, but make sense to check if we have associated a FIP to the LB\u0027s VIP or maybe I missing something?","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":811,"context_line":"        if not fips:"},{"line_number":812,"context_line":"            LOG.warn(\"Floating IP not found for loadbalancer \""},{"line_number":813,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":814,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        # get fip from lsp"},{"line_number":817,"context_line":"        vip_lsp \u003d self._ovn_helper._get_lsp("}],"source_content_type":"text/x-python","patch_set":31,"id":"a003be4e_ee3426c5","line":814,"updated":"2025-02-17 17:02:03.000000000","message":"This is used only in the block after L823, it would make more sense to move this into that block and change L823 to `if fips:` and issue the log message from L812 there as well. Basically we check the same situation three times with the current code.","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":811,"context_line":"        if not fips:"},{"line_number":812,"context_line":"            LOG.warn(\"Floating IP not found for loadbalancer \""},{"line_number":813,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":814,"context_line":"        neutron_fip \u003d fips[0].floating_ip_address if fips else None"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"        # get fip from lsp"},{"line_number":817,"context_line":"        vip_lsp \u003d self._ovn_helper._get_lsp("}],"source_content_type":"text/x-python","patch_set":31,"id":"3acb04ec_317be68f","line":814,"in_reply_to":"a003be4e_ee3426c5","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5dad3e72eff088cb2d1f5226079a50b8f532c67","unresolved":true,"context_lines":[{"line_number":829,"context_line":"                return"},{"line_number":830,"context_line":"            if lsp_fip !\u003d neutron_fip:"},{"line_number":831,"context_line":"                LOG.warn("},{"line_number":832,"context_line":"                    \"Floating IP not consist between Logic Switch \""},{"line_number":833,"context_line":"                    f\"Port and Neutron. Found FIP {lsp_fip} \""},{"line_number":834,"context_line":"                    f\"in LSP {vip_lsp.name}, but we have {neutron_fip} from \""},{"line_number":835,"context_line":"                    \"Neutron. Skip sync FIP for \""}],"source_content_type":"text/x-python","patch_set":34,"id":"8b2b2da7_1d7265d6","line":832,"range":{"start_line":832,"start_character":37,"end_line":832,"end_character":44},"updated":"2025-03-11 20:12:49.000000000","message":"s/consistent","commit_id":"a30aafa75471f8eabf487e2b36c35d98986f7b80"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"62e8211877daa778342ea922b8d4b89e4dd2c44e","unresolved":false,"context_lines":[{"line_number":829,"context_line":"                return"},{"line_number":830,"context_line":"            if lsp_fip !\u003d neutron_fip:"},{"line_number":831,"context_line":"                LOG.warn("},{"line_number":832,"context_line":"                    \"Floating IP not consist between Logic Switch \""},{"line_number":833,"context_line":"                    f\"Port and Neutron. Found FIP {lsp_fip} \""},{"line_number":834,"context_line":"                    f\"in LSP {vip_lsp.name}, but we have {neutron_fip} from \""},{"line_number":835,"context_line":"                    \"Neutron. Skip sync FIP for \""}],"source_content_type":"text/x-python","patch_set":34,"id":"009c6826_d041bb04","line":832,"range":{"start_line":832,"start_character":37,"end_line":832,"end_character":44},"in_reply_to":"8b2b2da7_1d7265d6","updated":"2025-03-12 08:53:42.000000000","message":"Done","commit_id":"a30aafa75471f8eabf487e2b36c35d98986f7b80"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e5dad3e72eff088cb2d1f5226079a50b8f532c67","unresolved":true,"context_lines":[{"line_number":845,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":846,"context_line":"            if lsp_fip:"},{"line_number":847,"context_line":"                LOG.warn("},{"line_number":848,"context_line":"                    \"Floating IP not consist between Logic Switch \""},{"line_number":849,"context_line":"                    f\"Port and Neutron. Found FIP {lsp_fip} configured \""},{"line_number":850,"context_line":"                    f\"in LSP {vip_lsp.name}, but no FIP configured from \""},{"line_number":851,"context_line":"                    \"Neutron. Please run command `neutron-ovn-db-sync-util` \""}],"source_content_type":"text/x-python","patch_set":34,"id":"82cb915d_984f2bf0","line":848,"range":{"start_line":848,"start_character":37,"end_line":848,"end_character":44},"updated":"2025-03-11 20:12:49.000000000","message":"s/consistent","commit_id":"a30aafa75471f8eabf487e2b36c35d98986f7b80"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"62e8211877daa778342ea922b8d4b89e4dd2c44e","unresolved":false,"context_lines":[{"line_number":845,"context_line":"                     f\"{loadbalancer.loadbalancer_id}\")"},{"line_number":846,"context_line":"            if lsp_fip:"},{"line_number":847,"context_line":"                LOG.warn("},{"line_number":848,"context_line":"                    \"Floating IP not consist between Logic Switch \""},{"line_number":849,"context_line":"                    f\"Port and Neutron. Found FIP {lsp_fip} configured \""},{"line_number":850,"context_line":"                    f\"in LSP {vip_lsp.name}, but no FIP configured from \""},{"line_number":851,"context_line":"                    \"Neutron. Please run command `neutron-ovn-db-sync-util` \""}],"source_content_type":"text/x-python","patch_set":34,"id":"cbfcaaaa_b4025453","line":848,"range":{"start_line":848,"start_character":37,"end_line":848,"end_character":44},"in_reply_to":"82cb915d_984f2bf0","updated":"2025-03-12 08:53:42.000000000","message":"Done","commit_id":"a30aafa75471f8eabf487e2b36c35d98986f7b80"}],"ovn_octavia_provider/helper.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"3a8744e702f5092a1d8ba7e43d15bd1863ec0101","unresolved":true,"context_lines":[{"line_number":2831,"context_line":"        external_ids \u003d copy.deepcopy(ovn_lb.external_ids)"},{"line_number":2832,"context_line":"        commands \u003d []"},{"line_number":2833,"context_line":"        nedd_ext_set \u003d True"},{"line_number":2834,"context_line":"        nedd_hc_set \u003d True"},{"line_number":2835,"context_line":""},{"line_number":2836,"context_line":"        if fip_info[\u0027action\u0027] in ("},{"line_number":2837,"context_line":"            ovn_const.REQ_INFO_ACTION_ASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":17,"id":"5737102e_004b2539","line":2834,"updated":"2024-11-13 10:07:10.000000000","message":"just out of curiosity, what \"nedd\" stands for?","commit_id":"9fc952b6fc37934c5c4da596a96e78d81165976b"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"f1443125689de622248e1266dec5849306186694","unresolved":true,"context_lines":[{"line_number":2831,"context_line":"        external_ids \u003d copy.deepcopy(ovn_lb.external_ids)"},{"line_number":2832,"context_line":"        commands \u003d []"},{"line_number":2833,"context_line":"        nedd_ext_set \u003d True"},{"line_number":2834,"context_line":"        nedd_hc_set \u003d True"},{"line_number":2835,"context_line":""},{"line_number":2836,"context_line":"        if fip_info[\u0027action\u0027] in ("},{"line_number":2837,"context_line":"            ovn_const.REQ_INFO_ACTION_ASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":17,"id":"d2d1de76_fafeb4c5","line":2834,"in_reply_to":"5737102e_004b2539","updated":"2024-11-19 11:56:05.000000000","message":"I imagine nedd -\u003e needed/required","commit_id":"9fc952b6fc37934c5c4da596a96e78d81165976b"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a3571a2651c2bb448037992e034babf690699c74","unresolved":false,"context_lines":[{"line_number":2831,"context_line":"        external_ids \u003d copy.deepcopy(ovn_lb.external_ids)"},{"line_number":2832,"context_line":"        commands \u003d []"},{"line_number":2833,"context_line":"        nedd_ext_set \u003d True"},{"line_number":2834,"context_line":"        nedd_hc_set \u003d True"},{"line_number":2835,"context_line":""},{"line_number":2836,"context_line":"        if fip_info[\u0027action\u0027] in ("},{"line_number":2837,"context_line":"            ovn_const.REQ_INFO_ACTION_ASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":17,"id":"28dc7e93_24ebfca2","line":2834,"in_reply_to":"d2d1de76_fafeb4c5","updated":"2025-01-22 10:21:07.000000000","message":"Acknowledged","commit_id":"9fc952b6fc37934c5c4da596a96e78d81165976b"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":339,"context_line":"        try:"},{"line_number":340,"context_line":"            ovn_lbs \u003d self._find_ovn_lbs_with_retry(lb_id)"},{"line_number":341,"context_line":"        except idlutils.RowNotFound:"},{"line_number":342,"context_line":"            LOG.debug(f\"Loadbalancer {lb_id} not found!\")"},{"line_number":343,"context_line":"            return"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        # Loop over all defined LBs with given ID, because it is possible"}],"source_content_type":"text/x-python","patch_set":31,"id":"32b8e1d5_c5fad8ba","line":342,"updated":"2025-02-17 17:02:03.000000000","message":"nit: This seems unrelated to this patch","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":339,"context_line":"        try:"},{"line_number":340,"context_line":"            ovn_lbs \u003d self._find_ovn_lbs_with_retry(lb_id)"},{"line_number":341,"context_line":"        except idlutils.RowNotFound:"},{"line_number":342,"context_line":"            LOG.debug(f\"Loadbalancer {lb_id} not found!\")"},{"line_number":343,"context_line":"            return"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        # Loop over all defined LBs with given ID, because it is possible"}],"source_content_type":"text/x-python","patch_set":31,"id":"8e9530a7_4e181af1","line":342,"in_reply_to":"32b8e1d5_c5fad8ba","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":2970,"context_line":"        additional_vip_fip \u003d fip_info.get(\u0027additional_vip_fip\u0027, False)"},{"line_number":2971,"context_line":"        external_ids \u003d copy.deepcopy(ovn_lb.external_ids)"},{"line_number":2972,"context_line":"        commands \u003d []"},{"line_number":2973,"context_line":"        nedd_ext_set \u003d True"},{"line_number":2974,"context_line":"        nedd_hc_set \u003d True"},{"line_number":2975,"context_line":""},{"line_number":2976,"context_line":"        if fip_info[\u0027action\u0027] in ("}],"source_content_type":"text/x-python","patch_set":31,"id":"c21717d5_009ec9cc","line":2973,"range":{"start_line":2973,"start_character":8,"end_line":2973,"end_character":12},"updated":"2025-02-17 17:02:03.000000000","message":"nit: Is it `need` ?","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":2970,"context_line":"        additional_vip_fip \u003d fip_info.get(\u0027additional_vip_fip\u0027, False)"},{"line_number":2971,"context_line":"        external_ids \u003d copy.deepcopy(ovn_lb.external_ids)"},{"line_number":2972,"context_line":"        commands \u003d []"},{"line_number":2973,"context_line":"        nedd_ext_set \u003d True"},{"line_number":2974,"context_line":"        nedd_hc_set \u003d True"},{"line_number":2975,"context_line":""},{"line_number":2976,"context_line":"        if fip_info[\u0027action\u0027] in ("}],"source_content_type":"text/x-python","patch_set":31,"id":"7bc8d548_7cfd516f","line":2973,"range":{"start_line":2973,"start_character":8,"end_line":2973,"end_character":12},"in_reply_to":"c21717d5_009ec9cc","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":3003,"context_line":"                commands.append("},{"line_number":3004,"context_line":"                    self.ovn_nbdb_api.db_set(\u0027Load_Balancer\u0027, ovn_lb.uuid,"},{"line_number":3005,"context_line":"                                             (\u0027external_ids\u0027, vip_fip_info)))"},{"line_number":3006,"context_line":"            if fip_info[\u0027action\u0027] \u003d\u003d ovn_const.REQ_INFO_ACTION_SYNC:"},{"line_number":3007,"context_line":"                # For sync scenario, check if FIP VIP already in health_check"},{"line_number":3008,"context_line":"                for lb_hc in ovn_lb.health_check:"},{"line_number":3009,"context_line":"                    # All lbhc in health_check are already checked"}],"source_content_type":"text/x-python","patch_set":31,"id":"e5b97aa0_cc12f5de","line":3006,"updated":"2025-02-17 17:02:03.000000000","message":"This is already checked on L2996, you can do both blocks under a single branch and then based on the two booleans proceed with the commands","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":3003,"context_line":"                commands.append("},{"line_number":3004,"context_line":"                    self.ovn_nbdb_api.db_set(\u0027Load_Balancer\u0027, ovn_lb.uuid,"},{"line_number":3005,"context_line":"                                             (\u0027external_ids\u0027, vip_fip_info)))"},{"line_number":3006,"context_line":"            if fip_info[\u0027action\u0027] \u003d\u003d ovn_const.REQ_INFO_ACTION_SYNC:"},{"line_number":3007,"context_line":"                # For sync scenario, check if FIP VIP already in health_check"},{"line_number":3008,"context_line":"                for lb_hc in ovn_lb.health_check:"},{"line_number":3009,"context_line":"                    # All lbhc in health_check are already checked"}],"source_content_type":"text/x-python","patch_set":31,"id":"2047315f_68e53ce7","line":3006,"in_reply_to":"e5b97aa0_cc12f5de","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":3173,"context_line":"                            {\u0027member\u0027: info[\u0027id\u0027],"},{"line_number":3174,"context_line":"                             \u0027fip\u0027: fip.external_ip})"},{"line_number":3175,"context_line":""},{"line_number":3176,"context_line":"    def _get_lsp(self, port_id, network_id):"},{"line_number":3177,"context_line":"        ls_name \u003d utils.ovn_name(network_id)"},{"line_number":3178,"context_line":"        try:"},{"line_number":3179,"context_line":"            ls \u003d self.ovn_nbdb_api.lookup(\u0027Logical_Switch\u0027, ls_name)"}],"source_content_type":"text/x-python","patch_set":31,"id":"663818ae_67dfebab","line":3176,"range":{"start_line":3176,"start_character":8,"end_line":3176,"end_character":16},"updated":"2025-02-17 17:02:03.000000000","message":"This is called from outside of the scope of this class, that suggests it should not start with the leading underscore.","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":3173,"context_line":"                            {\u0027member\u0027: info[\u0027id\u0027],"},{"line_number":3174,"context_line":"                             \u0027fip\u0027: fip.external_ip})"},{"line_number":3175,"context_line":""},{"line_number":3176,"context_line":"    def _get_lsp(self, port_id, network_id):"},{"line_number":3177,"context_line":"        ls_name \u003d utils.ovn_name(network_id)"},{"line_number":3178,"context_line":"        try:"},{"line_number":3179,"context_line":"            ls \u003d self.ovn_nbdb_api.lookup(\u0027Logical_Switch\u0027, ls_name)"}],"source_content_type":"text/x-python","patch_set":31,"id":"e8cfb4e2_da75f21b","line":3176,"range":{"start_line":3176,"start_character":8,"end_line":3176,"end_character":16},"in_reply_to":"663818ae_67dfebab","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":3205,"context_line":"                # We found particular port"},{"line_number":3206,"context_line":"                return port"},{"line_number":3207,"context_line":""},{"line_number":3208,"context_line":"    def _get_fip_from_vip(self, lb):"},{"line_number":3209,"context_line":"        neutron_client \u003d clients.get_neutron_client()"},{"line_number":3210,"context_line":"        try:"},{"line_number":3211,"context_line":"            return list(neutron_client.ips(port_id\u003dlb.vip_port_id))"}],"source_content_type":"text/x-python","patch_set":31,"id":"f271f7fb_22ec35b1","line":3208,"updated":"2025-02-17 17:02:03.000000000","message":"ditto","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":3205,"context_line":"                # We found particular port"},{"line_number":3206,"context_line":"                return port"},{"line_number":3207,"context_line":""},{"line_number":3208,"context_line":"    def _get_fip_from_vip(self, lb):"},{"line_number":3209,"context_line":"        neutron_client \u003d clients.get_neutron_client()"},{"line_number":3210,"context_line":"        try:"},{"line_number":3211,"context_line":"            return list(neutron_client.ips(port_id\u003dlb.vip_port_id))"}],"source_content_type":"text/x-python","patch_set":31,"id":"53ed9454_0a9d4fad","line":3208,"in_reply_to":"f271f7fb_22ec35b1","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f3a272e57547c6b071741983818c0b26e959f6f1","unresolved":true,"context_lines":[{"line_number":3213,"context_line":"            LOG.warn(\"Error on fetch fip for \""},{"line_number":3214,"context_line":"                     f\"{lb.loadbalancer_id} \""},{"line_number":3215,"context_line":"                     f\"Error: {str(e)}\")"},{"line_number":3216,"context_line":"            return"},{"line_number":3217,"context_line":""},{"line_number":3218,"context_line":"    def _add_lbhc(self, ovn_lb, pool_key, info):"},{"line_number":3219,"context_line":"        hm_id \u003d info[constants.ID]"}],"source_content_type":"text/x-python","patch_set":31,"id":"b05ca20d_d877ce6d","line":3216,"updated":"2025-02-17 17:02:03.000000000","message":"nit: not needed","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"80f2336b647d200786d2f22e27eb40aff31f546e","unresolved":false,"context_lines":[{"line_number":3213,"context_line":"            LOG.warn(\"Error on fetch fip for \""},{"line_number":3214,"context_line":"                     f\"{lb.loadbalancer_id} \""},{"line_number":3215,"context_line":"                     f\"Error: {str(e)}\")"},{"line_number":3216,"context_line":"            return"},{"line_number":3217,"context_line":""},{"line_number":3218,"context_line":"    def _add_lbhc(self, ovn_lb, pool_key, info):"},{"line_number":3219,"context_line":"        hm_id \u003d info[constants.ID]"}],"source_content_type":"text/x-python","patch_set":31,"id":"98becc7b_2076eef2","line":3216,"in_reply_to":"b05ca20d_d877ce6d","updated":"2025-02-18 20:39:08.000000000","message":"Done","commit_id":"33c50e395f7a8398f1a8b0b4450940db2f8bafec"}],"ovn_octavia_provider/tests/unit/test_helper.py":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"459ca569d88a5f59991b4eeca76342b03d62fbfc","unresolved":true,"context_lines":[{"line_number":4029,"context_line":"            attrs\u003dattrs_old)"},{"line_number":4030,"context_line":"        self.switch_port_event.run(mock.ANY, row, old)"},{"line_number":4031,"context_line":""},{"line_number":4032,"context_line":"        def expected_call(lb):"},{"line_number":4033,"context_line":"            return {\u0027type\u0027: \u0027handle_vip_fip\u0027,"},{"line_number":4034,"context_line":"                    \u0027info\u0027:"},{"line_number":4035,"context_line":"                        {\u0027action\u0027: ovn_const.REQ_INFO_ACTION_DISASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":32,"id":"1ea27dab_968bf9e1","line":4032,"range":{"start_line":4032,"start_character":0,"end_line":4032,"end_character":30},"updated":"2025-02-18 18:17:54.000000000","message":"what is this needed for?","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7b33f470eee7d7fe9ed8b5b94b863598876f4e2d","unresolved":true,"context_lines":[{"line_number":4029,"context_line":"            attrs\u003dattrs_old)"},{"line_number":4030,"context_line":"        self.switch_port_event.run(mock.ANY, row, old)"},{"line_number":4031,"context_line":""},{"line_number":4032,"context_line":"        def expected_call(lb):"},{"line_number":4033,"context_line":"            return {\u0027type\u0027: \u0027handle_vip_fip\u0027,"},{"line_number":4034,"context_line":"                    \u0027info\u0027:"},{"line_number":4035,"context_line":"                        {\u0027action\u0027: ovn_const.REQ_INFO_ACTION_DISASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":32,"id":"2a952c40_f36a622f","line":4032,"range":{"start_line":4032,"start_character":0,"end_line":4032,"end_character":30},"in_reply_to":"1ea27dab_968bf9e1","updated":"2025-03-01 09:20:24.000000000","message":"same question here","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"84fd6a31c44a97d627f21fc50e0803ecb7b1945d","unresolved":false,"context_lines":[{"line_number":4029,"context_line":"            attrs\u003dattrs_old)"},{"line_number":4030,"context_line":"        self.switch_port_event.run(mock.ANY, row, old)"},{"line_number":4031,"context_line":""},{"line_number":4032,"context_line":"        def expected_call(lb):"},{"line_number":4033,"context_line":"            return {\u0027type\u0027: \u0027handle_vip_fip\u0027,"},{"line_number":4034,"context_line":"                    \u0027info\u0027:"},{"line_number":4035,"context_line":"                        {\u0027action\u0027: ovn_const.REQ_INFO_ACTION_DISASSOCIATE,"}],"source_content_type":"text/x-python","patch_set":32,"id":"48a59f15_f39988e2","line":4032,"range":{"start_line":4032,"start_character":0,"end_line":4032,"end_character":30},"in_reply_to":"2a952c40_f36a622f","updated":"2025-03-07 16:45:58.000000000","message":"removed, doesn\u0027t make sense there where just one call is done. Probably copy\u0026paste from test L4110 where is called twice with diff parameter.","commit_id":"e18ea7163e349761c601e611c4f6a51ad24774fe"}]}
