<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 25, 2013 at 7:27 PM, Samuel Winchenbach <span dir="ltr"><<a href="mailto:swinchen@gmail.com" target="_blank">swinchen@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:'courier new',monospace"><div>Hi All,</div><div><br></div>
<div>So I am experiencing a rather frustrating problem.  I have three nodes running quantum dhcp agent (for high availability) and nova-compute.  I found that certain VMs do not get an address if all three DHCP agents are running.   Here is the output of dhcpdump on the tap interface to one of the VMs:</div>

<div><br></div><div>* WITHOUT test2 (worked - using test1 and test3)</div><div><a href="http://pastie.org/pastes/8508325/text" target="_blank">http://pastie.org/pastes/8508325/text</a><div style="width:16px;min-height:16px;display:inline-block">

</div><br></div><div><br></div><div>* WITH test2 (did not work - using test1, test2, test3)</div><div><a href="http://pastie.org/pastes/8508340/text" target="_blank">http://pastie.org/pastes/8508340/text</a></div>
<div><br></div><div>The log files look fine, no errors in dnsmasq.log or dhcp-agent.log</div><div><br></div><div>Here is what _seems_ to be in common when things do not work:</div>
<div>* the guest vm is using udhcpc as the DHCP client</div><div>* It is possible this only occurs when the DHCP agent is running on the same node as the VM.</div><div>
<br></div></div></div></blockquote><div><br></div><div>If it's only failing when the DHCP server is on the same host as VM, my first guess would be the infamous DHCP checksum issue.<br><br></div><div>Try adding this rule to the DHCP network namespace on each node that has a DHCP agent (change <uuid> to the appropriate id):<br>
<br>ip netns exec qdhcp-<uuid> iptables -A POSTROUTING -t mangle -p udp --dport 68 -j CHECKSUM --checksum-fill<br></div></div><br><br>This is happens if your machine is configured for hardware offloading of the 
UDP checksum calculations, and your DHCP packets don't get proper checksums 
if they don't cross a physical NIC. Certain DHCP clients barf if the 
checksum is invalid.<br><br clear="all"></div><div class="gmail_extra"><br></div><div class="gmail_extra">Lorin<br></div><div class="gmail_extra">-- <br><div dir="ltr">Lorin Hochstein<br><div>Lead Architect - Cloud Services</div>
<div>Nimbis Services, Inc.</div><div><a href="http://www.nimbisservices.com" target="_blank">www.nimbisservices.com</a></div></div>
</div></div>