DHCP unicast requests are not responded to

Bug #1554227 reported by Kelvin Koh
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Confirmed
Low
Unassigned
nova (Ubuntu)
Confirmed
Low
Unassigned

Bug Description

Issue:
We run nova-network in VLAN+multi_host mode on Kilo and notice that only one dnsmasq process (either the oldest or newest) on the hypervisor responds to unicast BOOTPREQUESTS. dhclient on VMs will retry until it eventually gives up and broadcasts the request, which is then responded to. Depending on the timing of the DHCP broadcast request, VMs can briefly lose connectivity as they attempt rebinding.

According to http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commitdiff;h=9380ba70d67db6b69f817d8e318de5ba1e990b12, it seems that passing "--interface" argument, in addition to "--bind-interfaces" is necessary for dnsmasq to work correctly in VLAN mode.

Reproduce steps:
1. Create two tenants
2. Create a VM under each tenant, forcing the VMs to run on a single hypervisor. I tested with a vanilla Ubuntu cloud image, but any other image that uses dhclient should also work.
3. On the hypervisor, run dhcpdump -i <bridge interface> for each tenant's bridge interface. On at least one of them, you should see unicast BOOTPREQUEST with no corresponding BOOTPREPLY. dnsmasq will reply when the request eventually hits 255.255.255.255.

Nova/Openstack/dnsmasq versions:
ii nova-api 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - API frontend
ii nova-common 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - common files
ii nova-compute 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - compute node base
ii nova-compute-libvirt 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - compute node libvirt support
ii nova-compute-qemu 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - compute node (QEmu)
ii nova-network 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - Network manager
ii nova-novncproxy 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute - NoVNC proxy
ii python-nova 1:2015.1.2-0ubuntu2~cloud0 all OpenStack Compute Python libraries
ii python-nova-adminclient 0.1.8-0ubuntu2 amd64 client for administering Openstack Nova
ii python-novaclient 1:2.22.0-0ubuntu2~cloud0 all client library for OpenStack Compute API
ii dnsmasq-base 2.68-1ubuntu0.1 amd64 Small caching DNS proxy and DHCP/TFTP server
ii dnsmasq-utils 2.68-1ubuntu0.1 amd64 Utilities for manipulating DHCP leases

Revision history for this message
Kelvin Koh (kelvk) wrote :
Revision history for this message
Kelvin Koh (kelvk) wrote :

Revised patch with test.

Eric Desrochers (slashd)
Changed in nova:
status: New → Confirmed
Changed in nova (Ubuntu):
status: New → Confirmed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to nova (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/290079

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "nova-network-dnsmasq-vlan.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Sean Dague (sdague)
Changed in nova:
importance: Undecided → Low
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Michael Still (<email address hidden>) on branch: master
Review: https://review.openstack.org/290079
Reason: This patch is quite old, so I am abandoning it to keep the review queue manageable. Feel free to restore the change if you're still interested in working on it.

Changed in nova (Ubuntu):
importance: Undecided → Low
Revision history for this message
Sean Dague (sdague) wrote :

Automatically discovered version kilo in description. If this is incorrect, please update the description to include 'nova version: ...'

tags: added: openstack-version.kilo
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.