)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fefe18622d96d3f6c7a8527fa669d67756632d1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f3b467c8_63e24888","updated":"2026-03-31 14:21:24.000000000","message":"recheck again, dependent patch","commit_id":"429cf9e0646c0ce353f710f52465b8d97d9887d5"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b62e24ac356e56f96fa31c5f268895dea0ac8e7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"06560852_15d3d552","updated":"2026-05-26 07:57:25.000000000","message":"recheck neutron-ovs-tempest-multinode-full","commit_id":"aaff19d82f2589163595710e04caadbd05255cb3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4cc9e97978c3e62be7902db64dc8cd0e5a7700c2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"005f00c0_27db965b","updated":"2026-06-01 08:41:46.000000000","message":"I gave -1 only for the visibility of my comment to the docs which I would like to clarify","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"61a28a633da9843b2125171fc386e7d536d7d427","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"b8100a02_8cf5f777","updated":"2026-05-27 20:46:07.000000000","message":"recheck neutron-tempest-plugin-openvswitch","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"97ea92c5c5fc62234922733d601324089bb81835","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"83b708e6_769b93af","in_reply_to":"005f00c0_27db965b","updated":"2026-06-01 13:52:39.000000000","message":"Done","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"}],"doc/source/admin/ovn/l3_scheduler.rst":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4cc9e97978c3e62be7902db64dc8cd0e5a7700c2","unresolved":true,"context_lines":[{"line_number":201,"context_line":"* **ML2/OVN only.** The ``ha_chassis_priority`` field is meaningful only"},{"line_number":202,"context_line":"  with the ML2/OVN mechanism driver. For other drivers (ML2/OVS), the field"},{"line_number":203,"context_line":"  is always ``null`` and the ``set router`` (``PUT``) operation is not"},{"line_number":204,"context_line":"  implemented (returns ``500``)."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* **Agent not found or not a valid gateway chassis.** If the agent ID does"},{"line_number":207,"context_line":"  not exist, is not of type ``ovn-controller-gateway``, does not have the"}],"source_content_type":"text/x-rst","patch_set":17,"id":"fe30f80d_776d31a9","line":204,"updated":"2026-06-01 08:41:46.000000000","message":"I\u0027m not sure if that sentence about this field being ``null`` for other backends is actually correct. The api extension which adds this new field is supported only by the ``ovn-router`` service plugin which means that if this service plugin is not loaded, that extension is not available neighter and that parametere should not be even returned through API ever.\nI did quick test on my ml2/ovs devstack env now and here\u0027s what I see:\n\n    $ curl -g -i -X GET http://10.120.0.30/networking/v2.0/agents/f2c1bed9-c8d8-4dbf-bcd5-212a808a1099/l3-routers -H \"Accept: application/json\" -H \"User-Agent: openstacksdk/4.11.0 keystoneauth1/5.13.1 python-requests/2.33.1 CPython/3.12.3\" -H \"X-Auth-Token: $token\"\n    HTTP/1.1 200 OK\n    Date: Mon, 01 Jun 2026 08:33:10 GMT\n    Server: Apache/2.4.58 (Ubuntu)\n    Content-Type: application/json\n    Content-Length: 939\n    x-openstack-request-id: req-674efca5-76f9-444d-b31b-2fad8666d0c3\n    Connection: close\n\n    {\"routers\": [{\"id\": \"ae7781c1-e05a-4d05-9a6b-2aca23ad8f2f\", \"name\": \"router1\", \"project_id\": \"405530bbff7a4dcd82541fc325dfed97\", \"admin_state_up\": true, \"status\": \"ACTIVE\", \"enable_snat\": true, \"external_gateway_info\": {\"network_id\": \"45a217db-a29f-4527-b2b0-978f176d9659\", \"external_fixed_ips\": [{\"subnet_id\": \"3314ed15-9d3d-42d2-939d-4c63f30f4f8e\", \"ip_address\": \"10.10.0.197\"}, {\"subnet_id\": \"115d7a76-e9bc-4f17-aea3-7f571ed09333\", \"ip_address\": \"2001:db8::ac\"}], \"enable_snat\": true}, \"gw_port_id\": \"aa7e973e-a72e-454d-8496-4a639f857be8\", \"description\": \"\", \"availability_zones\": [\"nova\"], \"distributed\": false, \"ha\": false, \"ha_vr_id\": 0, \"availability_zone_hints\": [], \"enable_default_route_ecmp\": false, \"enable_default_route_bfd\": false, \"routes\": [], \"flavor_id\": null, \"tags\": [], \"created_at\": \"2026-04-24T13:39:37Z\", \"updated_at\": \"2026-04-24T13:40:22Z\", \"revision_number\": 4, \"tenant_id\": \"405530bbff7a4dcd82541fc325dfed97\"}]}% \n\nThere is no that attribute there at all.\n\nAlso PUT request made to that backend seems that is returning properly ``501 Not Implemented``, not ``500``","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"24c1f9b077067abbe5aff91cd3baa74ade0304a2","unresolved":false,"context_lines":[{"line_number":201,"context_line":"* **ML2/OVN only.** The ``ha_chassis_priority`` field is meaningful only"},{"line_number":202,"context_line":"  with the ML2/OVN mechanism driver. For other drivers (ML2/OVS), the field"},{"line_number":203,"context_line":"  is always ``null`` and the ``set router`` (``PUT``) operation is not"},{"line_number":204,"context_line":"  implemented (returns ``500``)."},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"* **Agent not found or not a valid gateway chassis.** If the agent ID does"},{"line_number":207,"context_line":"  not exist, is not of type ``ovn-controller-gateway``, does not have the"}],"source_content_type":"text/x-rst","patch_set":17,"id":"729c7aee_9bf8c434","line":204,"in_reply_to":"fe30f80d_776d31a9","updated":"2026-06-01 09:00:02.000000000","message":"Right, the field is not present and it returns `Not Implemented`, that is 501","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"}],"neutron/common/ovn/extensions.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f8bb4bd3660f77d43196442cd4840f9bf27c55bd","unresolved":true,"context_lines":[{"line_number":136,"context_line":"    agent_def.ALIAS,"},{"line_number":137,"context_line":"    az_def.ALIAS,"},{"line_number":138,"context_line":"    raz_def.ALIAS,"},{"line_number":139,"context_line":"    constants.L3_AGENT_SCHEDULER_EXT_ALIAS,"},{"line_number":140,"context_line":"    flavors.ALIAS,"},{"line_number":141,"context_line":"    l3_flavors.ALIAS,"},{"line_number":142,"context_line":"    l3_ext_gw_multihoming.ALIAS,"}],"source_content_type":"text/x-python","patch_set":15,"id":"e85a40dd_fc900fb9","line":139,"updated":"2026-05-26 17:09:04.000000000","message":"Do you also need to include the new HA definition?\n\nl3_agent_scheduler_ha_chassis_priority.ALIAS\n\n(and i guess put below with the other l3 extensions?)","commit_id":"aaff19d82f2589163595710e04caadbd05255cb3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ed4f11b2f1a3421f10a7ba45ce458b0b8fd8be","unresolved":false,"context_lines":[{"line_number":136,"context_line":"    agent_def.ALIAS,"},{"line_number":137,"context_line":"    az_def.ALIAS,"},{"line_number":138,"context_line":"    raz_def.ALIAS,"},{"line_number":139,"context_line":"    constants.L3_AGENT_SCHEDULER_EXT_ALIAS,"},{"line_number":140,"context_line":"    flavors.ALIAS,"},{"line_number":141,"context_line":"    l3_flavors.ALIAS,"},{"line_number":142,"context_line":"    l3_ext_gw_multihoming.ALIAS,"}],"source_content_type":"text/x-python","patch_set":15,"id":"790c1e4f_15051506","line":139,"in_reply_to":"e85a40dd_fc900fb9","updated":"2026-05-27 13:14:36.000000000","message":"yes, for sure","commit_id":"aaff19d82f2589163595710e04caadbd05255cb3"}],"neutron/conf/policies/agent.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"4cc9e97978c3e62be7902db64dc8cd0e5a7700c2","unresolved":true,"context_lines":[{"line_number":187,"context_line":"            },"},{"line_number":188,"context_line":"        ],"},{"line_number":189,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":190,"context_line":"    ),"},{"line_number":191,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":192,"context_line":"        name\u003d\u0027delete_l3-router\u0027,"},{"line_number":193,"context_line":"        check_str\u003dbase.ADMIN,"}],"source_content_type":"text/x-python","patch_set":17,"id":"e1b07a32_bd6a5e67","line":190,"updated":"2026-06-01 08:41:46.000000000","message":"nit: just asking if it wouldn\u0027t be better for cleaner history to do that in separate patch as this I think is not really strictly related to that patch only and and impacts also other backends as well if I\u0027m not mistaken","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5fddb19dc5147794a905347937c030c73f2f1435","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            },"},{"line_number":188,"context_line":"        ],"},{"line_number":189,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":190,"context_line":"    ),"},{"line_number":191,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":192,"context_line":"        name\u003d\u0027delete_l3-router\u0027,"},{"line_number":193,"context_line":"        check_str\u003dbase.ADMIN,"}],"source_content_type":"text/x-python","patch_set":17,"id":"769c49db_5f00c4d9","line":190,"in_reply_to":"9662aabf_067d1ed2","updated":"2026-06-01 13:53:02.000000000","message":"--\u003e https://review.opendev.org/c/openstack/neutron/+/990928. This patch is the parent of this one.","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"24c1f9b077067abbe5aff91cd3baa74ade0304a2","unresolved":false,"context_lines":[{"line_number":187,"context_line":"            },"},{"line_number":188,"context_line":"        ],"},{"line_number":189,"context_line":"        scope_types\u003d[\u0027project\u0027],"},{"line_number":190,"context_line":"    ),"},{"line_number":191,"context_line":"    policy.DocumentedRuleDefault("},{"line_number":192,"context_line":"        name\u003d\u0027delete_l3-router\u0027,"},{"line_number":193,"context_line":"        check_str\u003dbase.ADMIN,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9662aabf_067d1ed2","line":190,"in_reply_to":"e1b07a32_bd6a5e67","updated":"2026-06-01 09:00:02.000000000","message":"Right, that affects to all backends, including OVS+L3 agent. I\u0027ll move this change out of this patch.","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"}],"neutron/db/l3_agentschedulers_db.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f8bb4bd3660f77d43196442cd4840f9bf27c55bd","unresolved":true,"context_lines":[{"line_number":164,"context_line":"        Not implemented for the L3 agent (ML2/OVS) scheduler."},{"line_number":165,"context_line":"        \"\"\""},{"line_number":166,"context_line":"        raise NotImplementedError(_("},{"line_number":167,"context_line":"            \u0027Updating a router in a L3 agent is not supported for \u0027"},{"line_number":168,"context_line":"            \u0027this backend\u0027))"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def add_router_to_l3_agent(self, context, agent_id, router_id, **kwargs):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1b2983fe_47b2bcd1","line":167,"range":{"start_line":167,"start_character":34,"end_line":167,"end_character":35},"updated":"2026-05-26 17:09:04.000000000","message":"nit: s/an","commit_id":"aaff19d82f2589163595710e04caadbd05255cb3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"41ed4f11b2f1a3421f10a7ba45ce458b0b8fd8be","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        Not implemented for the L3 agent (ML2/OVS) scheduler."},{"line_number":165,"context_line":"        \"\"\""},{"line_number":166,"context_line":"        raise NotImplementedError(_("},{"line_number":167,"context_line":"            \u0027Updating a router in a L3 agent is not supported for \u0027"},{"line_number":168,"context_line":"            \u0027this backend\u0027))"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    def add_router_to_l3_agent(self, context, agent_id, router_id, **kwargs):"}],"source_content_type":"text/x-python","patch_set":15,"id":"cd9f2c04_2bec30e5","line":167,"range":{"start_line":167,"start_character":34,"end_line":167,"end_character":35},"in_reply_to":"1b2983fe_47b2bcd1","updated":"2026-05-27 13:14:36.000000000","message":"Done","commit_id":"aaff19d82f2589163595710e04caadbd05255cb3"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6cbbd9ed5c81225966098e160194e004a73693a1","unresolved":true,"context_lines":[{"line_number":158,"context_line":"                    router_id\u003drouter_id, agent_id\u003dagent_id)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def update_router_in_l3_agent(self, context, agent_id, router_id,"},{"line_number":161,"context_line":"                                  **kwargs):"},{"line_number":162,"context_line":"        \"\"\"Update a router associated to a L3 agent."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        Not implemented for the L3 agent (ML2/OVS) scheduler."}],"source_content_type":"text/x-python","patch_set":17,"id":"0727f17e_5bf67d58","line":161,"range":{"start_line":161,"start_character":34,"end_line":161,"end_character":42},"updated":"2026-05-27 16:53:23.000000000","message":"noticed you added **kwargs here and below, don\u0027t know if it was intentional since it\u0027s unused.","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6252ea1c7f0f77b2e3121f1bb56d042a47d3ea4a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                    router_id\u003drouter_id, agent_id\u003dagent_id)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def update_router_in_l3_agent(self, context, agent_id, router_id,"},{"line_number":161,"context_line":"                                  **kwargs):"},{"line_number":162,"context_line":"        \"\"\"Update a router associated to a L3 agent."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        Not implemented for the L3 agent (ML2/OVS) scheduler."}],"source_content_type":"text/x-python","patch_set":17,"id":"cb8b1c7b_4b48d417","line":161,"range":{"start_line":161,"start_character":34,"end_line":161,"end_character":42},"in_reply_to":"0727f17e_5bf67d58","updated":"2026-05-27 20:45:57.000000000","message":"Yes, I changed the signature of this method in the API class: https://review.opendev.org/c/openstack/neutron/+/982792/17/neutron/extensions/l3agentscheduler.py#237","commit_id":"10b80bf82a2403e72eb667f146f8955cdd66c965"}]}
