dnsmasq >= 2.81 not responding to DHCP requests with current q-dhcp configs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
Dan Radez |
Bug Description
* High level description:
I've been attempting to enable Fedora 32 support in devstack and encountered the following issue where dnsmasq as configured by q-dhcp isn't responding to DHCP requests from clients:
https:/
Looking at tcpdump and strace it appears that dnsmasq can see the requests but doesn't reply suggesting a configuration issue either caused by q-dhcp *or* a regression in dnsmasq itself:
$ openstack server reboot --hard test && sudo ip netns exec qdhcp-df64061e-
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tapee679459-e1, link-type EN10MB (Ethernet), capture size 262144 bytes
18:40:24.070796 IP 0.0.0.0.bootpc > 255.255.
18:41:24.118961 IP 0.0.0.0.bootpc > 255.255.
18:42:24.192716 IP 0.0.0.0.bootpc > 255.255.
$ openstack server reboot --hard test && sudo ip netns exec qdhcp-df64061e-
strace: Process 196856 attached
restart_
recvmsg(4, {msg_name=
recvmsg(4, {msg_name=
ioctl(4, SIOCGIFNAME, {ifr_index=9, ifr_name=
ioctl(4, SIOCGIFFLAGS, {ifr_name=
ioctl(4, SIOCGIFADDR, {ifr_name=
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}, {fd=14, events=POLLIN}], 8, -1
The current configs are listed below:
http://
I was able to downgrade dnsmasq on f32 to 2.80 in order to workaround this:
$ sudo dnf downgrade dnsmasq -y
[..]
$ rpm -qa | grep dnsmasq
dnsmasq-
$ sudo killall dnsmasq && sudo systemctl restart devstack@q-*
$ openstack server reboot --hard test && sudo ip netns exec qdhcp-df64061e-
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tapee679459-e1, link-type EN10MB (Ethernet), capture size 262144 bytes
12:06:57.028953 IP 0.0.0.0.bootpc > 255.255.
12:06:57.029994 IP 10.0.0.2.bootps > 10.0.0.49.bootpc: BOOTP/DHCP, Reply, length 328
12:06:57.042300 IP 0.0.0.0.bootpc > 255.255.
12:06:57.047014 IP 10.0.0.2.bootps > 10.0.0.49.bootpc: BOOTP/DHCP, Reply, length 344
* Pre-conditions:
F32 with dnsmasq >= 2.81 installed.
* Step-by-step reproduction steps:
Deploy F32 with dnsmasq >= 2.81 installed, attempt to spawn an instance attached to a subnet with dhcp enabled.
* Expected output:
dnsmasq responds to DHCP request from instance.
* Actual output:
dnsmasq doesn't respond to DHCP request from instance.
* Version:
** OpenStack version (Specific stable branch, or git hash if from trunk);
Neutron @ 0fdcc4b1b63dc90
** Linux distro, kernel. For a distro, it’s also worth knowing specific versions of client and server;
Fedora 32 with kernel 5.8.10-
** DevStack or other _deployment_ mechanism?
Devstack @ https:/
* Environment: what types of services are you running (core services like DB and AMQP broker, as well as Nova/hypervisor if it matters), and which type of deployment (clustered servers)? Multi-node or single node, etc.
Single node devstack env.
* Perceived severity: is this a blocker for you?
High, assuming other distros will be impacted by this once they move to dnsmasq >= 2.81
tags: |
added: l3-ipam-dhcp removed: ovs |
Changed in neutron: | |
importance: | Undecided → High |
Changed in neutron: | |
status: | New → Confirmed |
Changed in neutron: | |
status: | Confirmed → Incomplete |
Changed in neutron: | |
assignee: | Slawek Kaplonski (slaweq) → Dan Radez (dradez) |
status: | Confirmed → In Progress |
tags: | added: neutron-proactive-backport-potential |
tags: | removed: neutron-proactive-backport-potential |
I forgot to add that I also tried 2.82 from Fedora 33 with the same results as 2.81.