)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1fe16bae410005dd74f404875849b557c698a9ca","unresolved":true,"context_lines":[{"line_number":11,"context_line":"the Placement API during neutron-server startup. However, this method"},{"line_number":12,"context_line":"was never called from production code, only from unit tests."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"When OVN controller registers a chassis in the SB DB before"},{"line_number":15,"context_line":"neutron-server starts, the OVSDB IDL initial sync does not generate"},{"line_number":16,"context_line":"ROW_CREATE events for pre-existing rows. The ChassisBandwidthConfigEvent"},{"line_number":17,"context_line":"handler only processes ROW_CREATE and ROW_UPDATE events, so chassis"},{"line_number":18,"context_line":"that already exist with resource_provider_bandwidths in their CMS"},{"line_number":19,"context_line":"options are silently ignored. This results in no bandwidth resource"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2eb538ea_c9bcaba0","line":16,"range":{"start_line":14,"start_character":0,"end_line":16,"end_character":40},"updated":"2026-06-26 09:29:54.000000000","message":"That\u0027s not true. Initially the method `read_initial_chassis_config` was used to bulk read all the existing chassis registers and update the placement config. But that was not needed since [1]. There I removed the call to `read_initial_chassis_config` [2] because now we read the chassis placement config when we receive the IDL updates [3].\n\nI\u0027m manually testing in my dev env. I updated the placement config:\n```\nroot@u24ovn1:~# ovs-vsctl set Open_vSwitch .   external_ids:ovn-cms-options\u003d\"resource_provider_bandwidths\u003dbr-ex:1001:2000;rp_tunnelled:5000:6000, \\\n                                resource_provider_inventory_defaults\u003dallocation_ratio:1.0;min_unit:10, \\\n                                resource_provider_hypervisors\u003dbr-ex:u24ovn1;rp_tunnelled:u24ovn1\"\n\n```\n\nAnd I see the changes in the provider list:\n```\n$ openstack resource provider list \n+--------------------------------------+-------------------------------------------+------------+--------------------------------------+--------------------------------------+\n| uuid                                 | name                                      | generation | root_provider_uuid                   | parent_provider_uuid                 |\n+--------------------------------------+-------------------------------------------+------------+--------------------------------------+--------------------------------------+\n| fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 | u24ovn1                                   |          2 | fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 | None                                 |\n| 04de42a0-11ee-5094-8019-38e193bdc17c | u24ovn1:OVN Controller agent              |          1 | fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 | fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 |\n| 7b6f7659-d141-5af2-9c92-0d7769687bbe | u24ovn1:OVN Controller agent:br-ex        |          4 | fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 | 04de42a0-11ee-5094-8019-38e193bdc17c |\n| 025c4dab-c85f-5efc-a987-457ff2232fa3 | u24ovn1:OVN Controller agent:rp_tunnelled |          4 | fb5e30ac-1a6f-4d2c-9bda-4ce9b5a267e0 | 04de42a0-11ee-5094-8019-38e193bdc17c |\n+--------------------------------------+-------------------------------------------+------------+--------------------------------------+--------------------------------------+\n```\n\nThat works with the Neutron API running or stopped. I can delete manually the existing resource providers and then start again the Neutron API - the RPs are added again to the placement API.\n\n\n[1]https://review.opendev.org/c/openstack/neutron/+/945017\n[2]https://review.opendev.org/c/openstack/neutron/+/945017/4/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py\n[3]https://review.opendev.org/c/openstack/neutron/+/945017/4/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/extensions/placement.py#147","commit_id":"46afbff1888768eea2583a8d3cdf04953cc535b9"}]}
