← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1964765] [NEW] DHCP agent scheduler filtering ignored when agent service restarted

 

Public bug reported:

We have a Xena deployment based on Linux bridge networking, with a mix
of Neutron managed VXLAN, and routed/L3 provider networks.

neutron-dhcp-agent services are deployed to a set of network nodes in
order to serve the VXLAN networks. These services are also deployed to a
subset of compute nodes which are the only hosts with access to the
routed provider networks.

We would like the network nodes to be used in preference to the compute
nodes when DHCP instances are created against VXLAN tenant networks.
Having written a patch to achieve this (modifying the DHCP scheduler
filtering -
https://github.com/bbc/neutron/commit/54b135e1412d83acb68995a71ed864118162ab01),
this works correctly when networks are first created. However, if a
given network has a DHCP agent/port removed at any point and a DHCP
service on one of the compute nodes is subsequently restarted, these
filters are ignored and the compute node takes over this responsibility.

As far as I can tell, when the DHCP agent service starts up it requests
details of the active networks and seeing a network it can reach which
doesn't have the correct number of agents deployed, takes over this
responsibility, bypassing the scheduling filters. The existing filters
which ensure a DHCP service has physical access to a given L3 segment
appear to work because there is a second implementation of that
filtering in
https://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/dhcp_rpc.py#L212.

I'd appreciate a second opinion on whether by making changes to the DHCP
scheduler filtering only, it should be reasonable to expect its rules to
apply at times after initial network/subnet creation? If there is an
architectural reason the filters don't get re-used, would my best option
be to add further patching in dhcp_rpc to achieve the desired behaviour?
Thanks

** 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/1964765

Title:
  DHCP agent scheduler filtering ignored when agent service restarted

Status in neutron:
  New

Bug description:
  We have a Xena deployment based on Linux bridge networking, with a mix
  of Neutron managed VXLAN, and routed/L3 provider networks.

  neutron-dhcp-agent services are deployed to a set of network nodes in
  order to serve the VXLAN networks. These services are also deployed to
  a subset of compute nodes which are the only hosts with access to the
  routed provider networks.

  We would like the network nodes to be used in preference to the
  compute nodes when DHCP instances are created against VXLAN tenant
  networks. Having written a patch to achieve this (modifying the DHCP
  scheduler filtering -
  https://github.com/bbc/neutron/commit/54b135e1412d83acb68995a71ed864118162ab01),
  this works correctly when networks are first created. However, if a
  given network has a DHCP agent/port removed at any point and a DHCP
  service on one of the compute nodes is subsequently restarted, these
  filters are ignored and the compute node takes over this
  responsibility.

  As far as I can tell, when the DHCP agent service starts up it
  requests details of the active networks and seeing a network it can
  reach which doesn't have the correct number of agents deployed, takes
  over this responsibility, bypassing the scheduling filters. The
  existing filters which ensure a DHCP service has physical access to a
  given L3 segment appear to work because there is a second
  implementation of that filtering in
  https://github.com/openstack/neutron/blob/master/neutron/api/rpc/handlers/dhcp_rpc.py#L212.

  I'd appreciate a second opinion on whether by making changes to the
  DHCP scheduler filtering only, it should be reasonable to expect its
  rules to apply at times after initial network/subnet creation? If
  there is an architectural reason the filters don't get re-used, would
  my best option be to add further patching in dhcp_rpc to achieve the
  desired behaviour? Thanks

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