← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1334323] [NEW] Check ips availability before adding network to DHCP agent

 

Public bug reported:

Hi there,

How to reproduce ?
===============

First of all it's better to use HA DHCP agent, i.e. running more than
one DHCP agent, and setting the dhcp_agents_per_network to the number of
DHCP agent that you're running.

Now for the sake of this example let's say that
dhcp_agents_per_network=3.

Now create a network with a subnet /30 for example or big subnet e..g
/24 but with a smaller allocation pool e.g that contain only 1 or 2
ips..


What happen ?
============

A lot of exception start showing up in the logs in the form:

   IpAddressGenerationFailure: No more IP addresses available on network


What happen really ?
================

Our small network was basically scheduled to all DHCP agents that are up
and active and each one of them will try to create a port for him self,
but because our small network has less IPs than dhcp_agents_per_network,
then some of this port will fail to be created, and this will happen
each iteration of the DHCP agent main loop.

Another case where if you have more than one subnet in a network, and
one of them is pretty small e.g.

net1 -> subnet1 10.0.0.0/24
              subnet2 10.10.0.0/30

Than errors also start to happen in every iteration of the dhcp agent.

What is expected ?
===============

IMHO only agent that can handle the network should hold this later, and
a direct call to add a network to a DHCP agent should also fail if there
is no IPs left to satisfy the new DHCP port creation.

** Affects: neutron
     Importance: Undecided
         Status: New

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

Title:
  Check ips availability before adding network to DHCP agent

Status in OpenStack Neutron (virtual network service):
  New

Bug description:
  Hi there,

  How to reproduce ?
  ===============

  First of all it's better to use HA DHCP agent, i.e. running more than
  one DHCP agent, and setting the dhcp_agents_per_network to the number
  of DHCP agent that you're running.

  Now for the sake of this example let's say that
  dhcp_agents_per_network=3.

  Now create a network with a subnet /30 for example or big subnet e..g
  /24 but with a smaller allocation pool e.g that contain only 1 or 2
  ips..

  
  What happen ?
  ============

  A lot of exception start showing up in the logs in the form:

     IpAddressGenerationFailure: No more IP addresses available on
  network

  
  What happen really ?
  ================

  Our small network was basically scheduled to all DHCP agents that are
  up and active and each one of them will try to create a port for him
  self, but because our small network has less IPs than
  dhcp_agents_per_network, then some of this port will fail to be
  created, and this will happen each iteration of the DHCP agent main
  loop.

  Another case where if you have more than one subnet in a network, and
  one of them is pretty small e.g.

  net1 -> subnet1 10.0.0.0/24
                subnet2 10.10.0.0/30

  Than errors also start to happen in every iteration of the dhcp agent.

  What is expected ?
  ===============

  IMHO only agent that can handle the network should hold this later,
  and a direct call to add a network to a DHCP agent should also fail if
  there is no IPs left to satisfy the new DHCP port creation.

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


Follow ups

References