← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1225200] Re: DHCP agent dnsmasq startup only allows 1000 leases

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1225200

Title:
  DHCP agent dnsmasq startup only allows 1000 leases

Status in OpenStack Neutron (virtual network service):
  Fix Released

Bug description:
  Because the code in spawn_process() in dhcp.py doesn't specify it,
  dnsmasq defaults to only allowing 1000 leases at a time, so client's
  get a NAK and the agent logs a "no leases left" message to syslog.

  From the man page:

         -X, --dhcp-lease-max=<number>
                Limits  dnsmasq  to the specified maximum number of DHCP leases.
                The default is 1000. This limit is to prevent DoS  attacks  from
                hosts which create thousands of leases and use lots of memory in
                the dnsmasq process.

  We have tenants with increased quota's that have hit this limit
  recently, and while we have found a workaround by specifying 'dhcp-
  lease-max=$larger' in our custom dnsmasq.conf file, the dhcp-agent
  really should pass the maximum when starting dnsmasq.

  Looking in the code there already is a TODO there:

              #TODO (mark): calculate value from cidr (defaults to 150)
              #'--dhcp-lease-max=%s' % ?,

  And a small change to the loop right below that comment counting
  subnets should be able to figure out the correct "max" value and
  append it to the command startup.

  If I don't get to it shortly someone else is welcome to pick this up
  and run with it.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1225200/+subscriptions