)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"21a692234e6f8029da26dfe79bc25027d8540d6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"eb473e31_7cffa7de","updated":"2023-05-03 10:47:10.000000000","message":"recheck","commit_id":"1154dc090c838d3c479c2a795c5fdf081ca41cae"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"94742c87359a04450f3d29e69cbe3f14a5604a72","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"5774a97c_d5f73ec3","updated":"2023-08-24 11:42:19.000000000","message":"I tried to test in my local env the whole stuff, and when I tried to enable ecmp and bfd for my routes I lost there.\n[1] says that I need only external-gateway-multihoming extension, but these has their own extension (enable_default_route_bfd \u0026 enable_default_route_ecmp) but those are not loaded for me.\n\n\n[1]: https://docs.openstack.org/api-ref/network/v2/index.html?expanded\u003dupdate-router-detail#id231","commit_id":"ab6fb62d9b5fdadeafbf63ff9c6eff2aa93c9820"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"1a01d63f1dff8b181c8556237750543f16b78115","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":37,"id":"41b7f92c_11b02878","in_reply_to":"5774a97c_d5f73ec3","updated":"2023-08-29 10:05:59.000000000","message":"\u003e I tried to test in my local env the whole stuff, and when I tried to enable ecmp and bfd for my routes I lost there.\n\u003e [1] says that I need only external-gateway-multihoming extension, but these has their own extension (enable_default_route_bfd \u0026 enable_default_route_ecmp) but those are not loaded for me.\n\u003e \n\u003e \n\u003e [1]: https://docs.openstack.org/api-ref/network/v2/index.html?expanded\u003dupdate-router-detail#id231\n\n@lajoskatona thank you so much for taking the time to test and review. There are indeed a few pieces missing for the extra attribute extensions to be loaded. An updated series will follow momentarily which fixes this.\n\nAs noted on IRC I\u0027m also working on fixing the client implementation as well as docs.","commit_id":"ab6fb62d9b5fdadeafbf63ff9c6eff2aa93c9820"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"9c791e220d2f23f874d2fd9d18882f3fdb7e9623","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":47,"id":"625b18e2_b5f77e5e","updated":"2023-12-04 18:42:40.000000000","message":"recheck","commit_id":"fbf025aae40f4db2467a63511c2877f8997ed43a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"491d246b0a1babff0c3c839d88ecf17e1c01028c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":53,"id":"ac65f1ab_fd113cc0","updated":"2024-02-16 20:27:43.000000000","message":"I\u0027m not worried about rebasing this as it still applies cleanly and isn\u0027t showing a merge conflict.","commit_id":"80359a3750a406689ca5d7b316a19b0dc3825535"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7bed54bb4e4e950739d0f3bcbeb529dcc36e4608","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":57,"id":"3ae55ef6_fd8f2ec9","updated":"2024-02-27 16:05:28.000000000","message":"FT test \"test_create_delete_router_multiple_gw_ports_ecmp_and_bfd\" is failing","commit_id":"8d9fbfd74d9bfd310d758aafc7b7b0a460b37b0a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"8b8a564bd0f0d337b01b09dcff601dd32e9b8b26","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":57,"id":"b3b7bd0e_bdc50e95","updated":"2024-02-27 14:48:46.000000000","message":"Hrm, the failure is caused by the rebase.\n\nBefore https://review.opendev.org/c/openstack/neutron/+/909649 there was code added to the `DelLRouterCommand` to ensure any remaining BFD records was purged on router removal.\n\nAn attempt was made to add this to the `ovn_client` side instead, and I guess we need to tackle this multiple places as I see there are multiple entry points that deal with router ports there.","commit_id":"8d9fbfd74d9bfd310d758aafc7b7b0a460b37b0a"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"6c6b76f3cc2b0264d4ccb9d2d279d45edd2e1c2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":57,"id":"569b4faa_7db221e4","in_reply_to":"524fa483_45e8eae0","updated":"2024-02-27 18:53:43.000000000","message":"Thanks a lot for the tip, Rodolfo, that does indeed sound like a good idea.\n\nIncidentally I also found the issue to disappear if I reorder the patches so that https://review.opendev.org/c/openstack/neutron/+/910332 comes before this change.\n\nSo I\u0027ll try that approach first, and keep the possibility to override the `lr_del` method if it turns out to be needed.\n\nThanks again!\n\nNew patch set on the way.","commit_id":"8d9fbfd74d9bfd310d758aafc7b7b0a460b37b0a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1d7d4627ebc0b52b44559879085e5ccd2b5bf3da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":57,"id":"524fa483_45e8eae0","in_reply_to":"b3b7bd0e_bdc50e95","updated":"2024-02-27 16:08:44.000000000","message":"Why don\u0027t you override the lr_del method? Same as in https://review.opendev.org/c/openstack/neutron/+/909194/17/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py","commit_id":"8d9fbfd74d9bfd310d758aafc7b7b0a460b37b0a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df6775cd3006ebf326061906b7097361d3ff5c09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":62,"id":"93e237cd_e916568e","updated":"2024-02-29 15:53:05.000000000","message":"The change in AddStaticRouteCommand deserves a functional test","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"aca95b5118f307551a8712d3da7694499263bf66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":62,"id":"528115c5_711ec72b","updated":"2024-02-29 12:32:19.000000000","message":"recheck intermittent failure in test unrelated to this change: `neutron.tests.functional.agent.l3.extensions.test_port_forwarding_extension.TestL3AgentFipPortForwardingExtensionDVR.test_dvr_router_fips_for_multiple_ext_networks`","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"7e329d7dab107ad32eb62717edfee4240d8c6940","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":62,"id":"7131196f_ca9858e7","in_reply_to":"5e7eab1b_1c3c4aee","updated":"2024-02-29 21:03:06.000000000","message":"Done","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"6b8f831232a4d3b28d7bb0c046d29ca78bf484fc","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":62,"id":"e8b269a1_e034bad0","in_reply_to":"93e237cd_e916568e","updated":"2024-02-29 16:29:37.000000000","message":"The two functional tests added by this patch test the BFD part fairly thoroughly already:\nhttps://review.opendev.org/c/openstack/neutron/+/878543/62/neutron/tests/functional/services/ovn_l3/test_plugin.py#698\n\nThere is no unit test coverage for this change though, I\u0027ll add that in the next iteration.\n\nI can also add a even more focused functional test if that is desired, but there does not appear to exist any scaffolding for standalone functional testing of the `neutron.plugins.ml2.drivers.ovn.mech_driver.ovsdb` package today?","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"a4e06a9df6588a0f20b2eb2a266d174c3a199ebb","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":62,"id":"5e7eab1b_1c3c4aee","in_reply_to":"e8b269a1_e034bad0","updated":"2024-02-29 18:50:47.000000000","message":"Ah, there *IS* a `neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb` already, sorry about that!\n\nFunctional test case on its way 😊","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"1fbe6b86289d1c796edba1e91bf7adfe28982511","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"3a4f13d4_8be86488","updated":"2024-03-01 17:17:45.000000000","message":"recheck","commit_id":"cc1ff09b9e2e64eb6abd519a0d4ca3dda7439eb1"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"cf625e46927f080776832ddfe7f02a66791df960","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"d28dbafb_f2cd20db","updated":"2024-03-01 14:51:59.000000000","message":"recheck tempest-integrated-networking, checked the failed tests locally and they pass, CI load/overcommit issue?","commit_id":"cc1ff09b9e2e64eb6abd519a0d4ca3dda7439eb1"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"cd692f67b1acf3b7a0ad4cc154131966f7a4e567","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"d64aee21_645a85f5","updated":"2024-03-01 08:48:10.000000000","message":"recheck unrelated failure in `tempest.api.compute.admin.test_migrations.MigrationsAdminTest.test_resize_server_revert_deleted_flavor`","commit_id":"cc1ff09b9e2e64eb6abd519a0d4ca3dda7439eb1"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"756bf64a5bc61783cc511218c724164be411b995","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"5fbb1af8_57f04e98","updated":"2024-03-01 06:21:23.000000000","message":"recheck unrelated failure in test `tempest.api.compute.servers.test_servers_negative.ServersNegativeTestJSON.test_shelve_shelved_server`","commit_id":"cc1ff09b9e2e64eb6abd519a0d4ca3dda7439eb1"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"2d4d4ce0da1f820f7ac1e95d11d4c6f854d5dcfe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":64,"id":"921af1f7_1d0e1ded","updated":"2024-03-01 13:00:37.000000000","message":"recheck unrelated test failure in `tempest.api.identity.admin.v3.test_roles.RolesV3TestJSON.test_role_create_update_show_list`, which appears to succeed in job started at the same time here: https://zuul.opendev.org/t/openstack/build/1e57f28c654c48ae862544c1ccfc1a8b","commit_id":"cc1ff09b9e2e64eb6abd519a0d4ca3dda7439eb1"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/commands.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d4bc63907b437e42630b12d2495355cca50f1fb6","unresolved":true,"context_lines":[{"line_number":645,"context_line":"        row \u003d txn.insert(self.api._tables[\u0027Logical_Router_Static_Route\u0027])"},{"line_number":646,"context_line":"        for col, val in self.columns.items():"},{"line_number":647,"context_line":"            setattr(row, col, val)"},{"line_number":648,"context_line":"        if self.maintain_bfd and bfd_rec:"},{"line_number":649,"context_line":"            setattr(row, \u0027bfd\u0027, bfd_rec)"},{"line_number":650,"context_line":"        _addvalue_to_list(lrouter, \u0027static_routes\u0027, row.uuid)"},{"line_number":651,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"817b4492_3407a764","line":648,"updated":"2023-08-10 03:24:19.000000000","message":"nit: I guess you don\u0027t have to check self.maintain_bfd as bfd_rec won\u0027t be set otherwise.","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"2dfda4d32f3a48424d5108924717cd47a2a95896","unresolved":false,"context_lines":[{"line_number":645,"context_line":"        row \u003d txn.insert(self.api._tables[\u0027Logical_Router_Static_Route\u0027])"},{"line_number":646,"context_line":"        for col, val in self.columns.items():"},{"line_number":647,"context_line":"            setattr(row, col, val)"},{"line_number":648,"context_line":"        if self.maintain_bfd and bfd_rec:"},{"line_number":649,"context_line":"            setattr(row, \u0027bfd\u0027, bfd_rec)"},{"line_number":650,"context_line":"        _addvalue_to_list(lrouter, \u0027static_routes\u0027, row.uuid)"},{"line_number":651,"context_line":""}],"source_content_type":"text/x-python","patch_set":35,"id":"d6c2d0fd_d0f823fd","line":648,"in_reply_to":"817b4492_3407a764","updated":"2023-08-22 12:48:24.000000000","message":"Done","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"df6775cd3006ebf326061906b7097361d3ff5c09","unresolved":true,"context_lines":[{"line_number":643,"context_line":"        if (self.maintain_bfd and"},{"line_number":644,"context_line":"                \u0027nexthop\u0027 in self.columns and"},{"line_number":645,"context_line":"                \u0027output_port\u0027 in self.columns):"},{"line_number":646,"context_line":"            cmd \u003d ovn_nb_commands.BFDAddCommand(self.api,"},{"line_number":647,"context_line":"                                                self.columns[\u0027output_port\u0027],"},{"line_number":648,"context_line":"                                                self.columns[\u0027nexthop\u0027],"},{"line_number":649,"context_line":"                                                may_exist\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":62,"id":"92801e4b_f9d07811","line":646,"range":{"start_line":646,"start_character":34,"end_line":646,"end_character":47},"updated":"2024-02-29 15:53:05.000000000","message":"This command was added in [1], that is included in ovsdbapp 2.3.0. Please bump ovsdbapp requirements\n\n[1]https://review.opendev.org/c/openstack/ovsdbapp/+/873042","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"6b8f831232a4d3b28d7bb0c046d29ca78bf484fc","unresolved":false,"context_lines":[{"line_number":643,"context_line":"        if (self.maintain_bfd and"},{"line_number":644,"context_line":"                \u0027nexthop\u0027 in self.columns and"},{"line_number":645,"context_line":"                \u0027output_port\u0027 in self.columns):"},{"line_number":646,"context_line":"            cmd \u003d ovn_nb_commands.BFDAddCommand(self.api,"},{"line_number":647,"context_line":"                                                self.columns[\u0027output_port\u0027],"},{"line_number":648,"context_line":"                                                self.columns[\u0027nexthop\u0027],"},{"line_number":649,"context_line":"                                                may_exist\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":62,"id":"7d20c1b3_66554e8b","line":646,"range":{"start_line":646,"start_character":34,"end_line":646,"end_character":47},"in_reply_to":"92801e4b_f9d07811","updated":"2024-02-29 16:29:37.000000000","message":"Done","commit_id":"bf930a7723691240b6ea23227a8366b84a298cbe"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d4bc63907b437e42630b12d2495355cca50f1fb6","unresolved":true,"context_lines":[{"line_number":1203,"context_line":"                    columns.update({"},{"line_number":1204,"context_line":"                        \u0027output_port\u0027: utils.ovn_lrouter_port_name("},{"line_number":1205,"context_line":"                            gw_port[\u0027id\u0027]),"},{"line_number":1206,"context_line":"                    })"},{"line_number":1207,"context_line":"                txn.add(self._nb_idl.add_static_route("},{"line_number":1208,"context_line":"                    lrouter_name, ip_prefix\u003dgw_info.ip_prefix,"},{"line_number":1209,"context_line":"                    nexthop\u003dgw_info.gateway_ip,"}],"source_content_type":"text/x-python","patch_set":35,"id":"eceac6bd_133f9df1","line":1206,"updated":"2023-08-10 03:24:19.000000000","message":"There is no unit test that checks when this value is True","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"e5963b84d08160b9a19d54101af6b70199885c1e","unresolved":false,"context_lines":[{"line_number":1203,"context_line":"                    columns.update({"},{"line_number":1204,"context_line":"                        \u0027output_port\u0027: utils.ovn_lrouter_port_name("},{"line_number":1205,"context_line":"                            gw_port[\u0027id\u0027]),"},{"line_number":1206,"context_line":"                    })"},{"line_number":1207,"context_line":"                txn.add(self._nb_idl.add_static_route("},{"line_number":1208,"context_line":"                    lrouter_name, ip_prefix\u003dgw_info.ip_prefix,"},{"line_number":1209,"context_line":"                    nexthop\u003dgw_info.gateway_ip,"}],"source_content_type":"text/x-python","patch_set":35,"id":"7ce53d4e_9e34b3dc","line":1206,"in_reply_to":"5ac90188_41420d59","updated":"2023-12-04 15:50:01.000000000","message":"Done","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"34c2a824b422d4332d1e428e03a5846f427fe51e","unresolved":true,"context_lines":[{"line_number":1203,"context_line":"                    columns.update({"},{"line_number":1204,"context_line":"                        \u0027output_port\u0027: utils.ovn_lrouter_port_name("},{"line_number":1205,"context_line":"                            gw_port[\u0027id\u0027]),"},{"line_number":1206,"context_line":"                    })"},{"line_number":1207,"context_line":"                txn.add(self._nb_idl.add_static_route("},{"line_number":1208,"context_line":"                    lrouter_name, ip_prefix\u003dgw_info.ip_prefix,"},{"line_number":1209,"context_line":"                    nexthop\u003dgw_info.gateway_ip,"}],"source_content_type":"text/x-python","patch_set":35,"id":"5ac90188_41420d59","line":1206,"in_reply_to":"c03f72d9_6eb43685","updated":"2023-08-22 19:07:06.000000000","message":"Yes, that works for me, didn\u0027t see it.","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"},{"author":{"_account_id":13686,"name":"Frode Nordahl","email":"fnordahl@ubuntu.com","username":"fnordahl"},"change_message_id":"2dfda4d32f3a48424d5108924717cd47a2a95896","unresolved":true,"context_lines":[{"line_number":1203,"context_line":"                    columns.update({"},{"line_number":1204,"context_line":"                        \u0027output_port\u0027: utils.ovn_lrouter_port_name("},{"line_number":1205,"context_line":"                            gw_port[\u0027id\u0027]),"},{"line_number":1206,"context_line":"                    })"},{"line_number":1207,"context_line":"                txn.add(self._nb_idl.add_static_route("},{"line_number":1208,"context_line":"                    lrouter_name, ip_prefix\u003dgw_info.ip_prefix,"},{"line_number":1209,"context_line":"                    nexthop\u003dgw_info.gateway_ip,"}],"source_content_type":"text/x-python","patch_set":35,"id":"c03f72d9_6eb43685","line":1206,"in_reply_to":"eceac6bd_133f9df1","updated":"2023-08-22 12:48:24.000000000","message":"The `tests.functional.services.ovn_l3.test_plugin.TestRouter.test_create_delete_router_multiple_gw_ports_ecmp_and_bfd` test checks this.\n\nWould that be sufficient?","commit_id":"3aed4be7b24d0ec967dc8520b091b36818b83ebb"}]}
