After further research, I updated the test plan again for Questing/Flamingo to:
Restart Apache2 to apply ml2_conf.ini changes, because the Neutron API runs under WSGI and is managed by Apache, not as a standalone systemd service. Restarting neutron-api or neutron-rpc-server will not reload the API processes or pick up the configuration changes, since the WSGI workers are controlled by Apache. ** Description changed: [ Impact ] * The Neutron configuration option `ovn_dhcp4_global_options` does not correctly support multiple values for DHCP keys. When multiple values are specified the neutron-server fails while parsing the configuration and does not start. * Backporting this fix would allow users to list multiple values in the `ovn_dhcp4_global_options` without requiring configuration workarounds. * The uploaded fix allows the config file, `ml2_conf.ini`, to correctly handle multiple values in `ovn_dhcp4_global_options`. [ UPDATED Test Plan ] * [0] The following versions of Ubuntu-OpenStack will be tested - UCA: jammy-caracal - UCA: noble-dalmatian - UCA: noble-epoxy - UCA: noble-flamingo - ubuntu: noble-caracal - ubuntu: questing-flamingo * [1] Deploy an OpenStack environment on the target series using regress-stack in a multipass VM. For Jammy/Noble, it can be set up following the instructions on the regress-stack README.md. For Questing, follow these instructions: https://github.com/canonical/se-wiki/wiki/Regress-Stack-How-to * [2] Edit the `ml2_conf.ini` file and change `ovn_dhcp4_global_options` to contain multiple values like `ovn_dhcp4_global_options = ntp_server:1.2.3.4,wpad:1.2.3.5;1.2.3.6` * [3] Restart the neutron server after updating the `ml2_conf.ini` file Jammy/Noble: sudo systemctl restart neutron-server - Questing: sudo systemctl restart neutron-api + Questing: sudo systemctl restart apache2 + (neutron-api is managed by WSGI/Apache) * [4] Create a new network and a subnet on that network `openstack network create test-network` `openstack subnet create \ --network test-network \ --subnet-range 192.168.100.0/24 \ --dhcp \ test-subnet` * [5] Check to see that multiple values are parsed incorrectly in OVN Northbound database `sudo ovn-nbctl list DHCP_Options` Incorrect options will look like wpad="1.2.3.5;1.2.3.6" (with a semi-colon) * [6] Delete the network and subnet created `openstack subnet delete test-subnet` `openstack network delete test-network` * [7] Apply the patch * [8] Create a new network and subnet again (using same commands from step 4) * [9] Check to see that multiple values are now parsed correctly in OVN Northbound database. Correct options will look like wpad="{1.2.3.5, 1.2.3.6}" (with a comma) * [10] Check the status of the neutron server to make sure it is running. Jammy/Noble: sudo systemctl status neutron-server - Questing: sudo systemctl status neutron-api + Questing: sudo systemctl status apache2 + (neutron-api is managed by WSGI/Apache) [ Where problems could occur ] * This change modifies how `ovn_dhcp4_global_options` options are parsed. A regression could possibly cause a failure to apply DHCP options all together due to an incorrect formatting in options sent to OVN. [ Other Info ] * Upstream commit to neutron (master): https://review.opendev.org/c/openstack/neutron/+/963944 =========================================================== [ Original Bug Description ] When using `ovn_dhcp4_global_options` under `[ovn]` in `ml2_conf.ini` it will cause `neutron server` to crash when attempting to parse the configuration if a key provided contains a list seperated by commas. For example if setting `domain_search_list` with more than one domain. ``` [ovn] ovn_dhcp4_global_options = domain_search_list:foo.bar,baz.qux ``` Expected output would be that `neutron server` doesn't crash when attempting to parse such configuration and correctly applies these options within `OVN`. Experienced within OpenStack Epoxy. Not currently blocking anything as it is possible to patch `_get_ovn_dhcpv4_opts` in `neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py` with the following ``` options['domain_search_list'] = "\"foo.bar,baz.qux\"" ``` -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2126923 Title: [SRU] ovn_dhcp4_global_options doesn't support keys with a list of values To manage notifications about this bug go to: https://bugs.launchpad.net/cloud-archive/+bug/2126923/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
