[Bug 2126923] Re: ovn_dhcp4_global_options doesn't support keys with a list of values
Leah Goldberg
2126923 at bugs.launchpad.net
Fri Feb 27 19:12:19 UTC 2026
***** Verification for NOBLE (LTS) *****
##### Before enabling -proposed #####
# current installed package
ubuntu at rs-noble-caracal:~$ apt-cache policy neutron-server
neutron-server:
Installed: 2:24.1.0-0ubuntu1
Candidate: 2:24.1.0-0ubuntu1
*** 2:24.1.0-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
100 /var/lib/dpkg/status
2:24.0.0-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
# checking status of neutron server and verifying it is active
ubuntu at rs-noble-caracal:~$ sudo systemctl status neutron-server
● neutron-server.service - OpenStack Neutron Server
Loaded: loaded (/usr/lib/systemd/system/neutron-server.service; enabled; preset: enabled)
Active: active (running) since Tue 2026-02-24 08:31:16 EST; 3 days ago
Docs: man:neutron-server(1)
Main PID: 62045 (/usr/bin/python)
Tasks: 6 (limit: 19137)
Memory: 361.4M (peak: 363.0M)
CPU: 12min 28.012s
CGroup: /system.slice/neutron-server.service
├─62045 "/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/>
├─62357 "neutron-server: api worker (/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --config-fi>
├─62360 "neutron-server: RpcWorker (/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --config-fil>
├─62361 "neutron-server: RpcReportsWorker (/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --con>
├─62362 "neutron-server: MaintenanceWorker (/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --co>
└─62363 "neutron-server: periodic worker (/usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --conf>
Feb 24 08:31:16 rs-noble-caracal systemd[1]: Started neutron-server.service - OpenStack Neutron Server.
Feb 24 08:31:16 rs-noble-caracal neutron-server[62045]: 2 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch>
# Editing the `ml2_conf.ini` file
sudo micro /etc/neutron/plugins/ml2/ml2_conf.ini
# Changed the value of `ovn_dhcp4_global_options` to contain multiple
values
ovn_dhcp4_global_options = foo.bar,baz.qux
# Stop and start the neutron server
ubuntu at rs-noble-caracal:~$ sudo systemctl stop neutron-server
ubuntu at rs-noble-caracal:~$ sudo systemctl start neutron-server
# Check the status and see the neutron server is dead
ubuntu at rs-noble-caracal:~$ sudo systemctl status neutron-server
○ neutron-server.service - OpenStack Neutron Server
Loaded: loaded (/usr/lib/systemd/system/neutron-server.service; enabled; preset: enabled)
Active: inactive (dead) since Fri 2026-02-27 10:49:50 EST; 29s ago
Duration: 4.645s
Docs: man:neutron-server(1)
Process: 226577 ExecStart=/etc/init.d/neutron-server systemd-start (code=exited, status=0/SUCCESS)
Main PID: 226577 (code=exited, status=0/SUCCESS)
CPU: 5.238s
Feb 27 10:49:40 rs-noble-caracal systemd[1]: Started neutron-server.service - OpenStack Neutron Server.
Feb 27 10:49:41 rs-noble-caracal neutron-server[226577]: 2 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() >
Feb 27 10:49:50 rs-noble-caracal systemd[1]: neutron-server.service: Deactivated successfully.
Feb 27 10:49:50 rs-noble-caracal systemd[1]: neutron-server.service: Consumed 5.238s CPU time, 1.8M memory peak, 0B memory swap peak.
##### Enabling -proposed #####
ubuntu at rs-noble-caracal:~$ sudo add-apt-repository "deb
http://archive.ubuntu.com/ubuntu/ noble-proposed main restricted
universe multiverse"
ubuntu at rs-noble-caracal:~$ sudo apt update
ubuntu at rs-noble-caracal:~$ sudo apt install -y \
neutron-server=2:24.1.0-0ubuntu1.1 \
neutron-common=2:24.1.0-0ubuntu1.1 \
neutron-plugin-ml2=2:24.1.0-0ubuntu1.1 \
python3-neutron=2:24.1.0-0ubuntu1.1
##### After enabling -proposed #####
# installed package
ubuntu at rs-noble-caracal:~$ apt-cache policy neutron-server
neutron-server:
Installed: 2:24.1.0-0ubuntu1.1
Candidate: 2:24.1.0-0ubuntu1.1
Version table:
*** 2:24.1.0-0ubuntu1.1 100
100 http://archive.ubuntu.com/ubuntu noble-proposed/main amd64 Packages
100 /var/lib/dpkg/status
2:24.1.0-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
2:24.0.0-0ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
# Changed the value of `ovn_dhcp4_global_options` to contain multiple values
# again since the upgrade reset the state of the `ml2_conf.ini` file
ovn_dhcp4_global_options = foo.bar,baz.qux
# stopping, starting, and viewing status of neutron server
ubuntu at rs-noble-caracal:~$ sudo systemctl stop neutron-server
ubuntu at rs-noble-caracal:~$ sudo systemctl start neutron-server
ubuntu at rs-noble-caracal:~$ sudo systemctl status neutron-server
● neutron-server.service - OpenStack Neutron Server
Loaded: loaded (/usr/lib/systemd/system/neutron-server.service; enabled; preset: enabled)
Active: active (running) since Fri 2026-02-27 11:31:54 EST; 2s ago
Docs: man:neutron-server(1)
Main PID: 233031 (neutron-server)
Tasks: 1 (limit: 19137)
Memory: 131.6M (peak: 131.8M)
CPU: 2.795s
CGroup: /system.slice/neutron-server.service
└─233031 /usr/bin/python3 /usr/bin/neutron-server --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/ml2_>
Feb 27 11:31:54 rs-noble-caracal systemd[1]: Started neutron-server.service - OpenStack Neutron Server.
Feb 27 11:31:54 rs-noble-caracal neutron-server[233031]: 2 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() >
***********************************************
I confirm that neutron-server version 2:24.1.0-0ubuntu1.1 from noble-
proposed fixes LP: #2126923 on Noble (LTS). Verified by reproducing the
failure with multiple values in ovn_dhcp4_global_options on
2:24.1.0-0ubuntu1, then confirming neutron-server starts successfully
with the same configuration after upgrading to 2:24.1.0-0ubuntu1.1.
** Tags removed: verification-needed-noble
** Tags added: verification-done-noble
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to Ubuntu Cloud Archive.
https://bugs.launchpad.net/bugs/2126923
Title:
ovn_dhcp4_global_options doesn't support keys with a list of values
Status in Ubuntu Cloud Archive:
In Progress
Status in Ubuntu Cloud Archive caracal series:
In Progress
Status in Ubuntu Cloud Archive dalmatian series:
In Progress
Status in Ubuntu Cloud Archive epoxy series:
In Progress
Status in Ubuntu Cloud Archive flamingo series:
In Progress
Status in neutron:
Fix Released
Status in neutron package in Ubuntu:
Fix Committed
Status in neutron source package in Noble:
Fix Committed
Status in neutron source package in Questing:
Fix Committed
Bug description:
[ 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`.
[ Test Plan ]
* [0] The following versions of Ubuntu-OpenStack will be tested
- UCA: jammy-caracal
- UCA: noble-dalmatian
- UCA: noble-epoxy
- UCA: noble-flamingo
- LTS: noble-caracal
- LTS: 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] Check the status of the neutron server to see that it is active/running
Jammy/Noble: sudo systemctl status neutron-server
Questing: sudo systemctl status neutron-rpc-server.service
* [3] Edit the `ml2_conf.ini` file and change `ovn_dhcp4_global_options` to
contain multiple values like `ovn_dhcp4_global_options = foo.bar;baz.qux`
* [4] Stop the neutron-server
Jammy/Noble: sudo systemctl stop neutron-server
Questing: sudo systemctl stop neutron-rpc-server.service
* [5] Start the neutron-server and watch it fail to start
Jammy/Noble: sudo systemctl start neutron-server
Questing: sudo systemctl start neutron-rpc-server.service
* [6] Apply the patch.
* [7] Stop, start, and check status of neutron-server again.
Before the patch, it will not start correctly.
After the patch, it should start correctly.
[ 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\""
```
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-archive/+bug/2126923/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list