[RFE] Add a driver for isc-dhcpd

Bug #1464793 reported by Shraddha Pandhe
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Expired
Wishlist
Unassigned

Bug Description

Currently, Neutron's dhcp agent only supports Dnsmasq. Dnsmasq has a very serious limitation that, it needs a reload any time when hosts, opts or addn hosts configs are updated. According to a blog [1], this can take unto 4 minutes with 65535 static leases.

Typical industry standard is to use isc-dhcpd [2] instead of Dnsmasq. In general isc-dhcpd has more features than Dnsmasq. It also supports OMAPI, which allows updating host or lease objects runtime. There are two ways to use OMAPI: omshell [3] and pypureomapi python library [4], [5]. With OMAPI, its very easy to selectively add/delete a host/lease from configuration (as against updating full config on every create/update port)

Considering that most of the industry uses isc-dhcpd, I think it will be a great addition to OpenStack neutron.

[1] https://www.mirantis.com/blog/improving-dhcp-performance-openstack/
[2] https://www.isc.org/downloads/dhcp/
[3] http://linux.die.net/man/1/omshell
[4] https://pypi.python.org/pypi/pypureomapi
[5] https://github.com/CygnusNetworks/pypureomapi

tags: added: rfe
Changed in neutron:
assignee: nobody → Shraddha Pandhe (shraddha-pandhe)
Revision history for this message
yong sheng gong (gongysh) wrote :
Revision history for this message
Shraddha Pandhe (shraddha-pandhe) wrote :

Thanks gongysh! I will refactor it according to the guidelines.

Revision history for this message
Kyle Mestery (mestery) wrote :

This makes some sense, marking confirmed.

Changed in neutron:
status: New → Confirmed
Revision history for this message
Kyle Mestery (mestery) wrote :

Ideally, this needs to happen once we split out the reference implementation, and this new driver could live in that tree with the existing DHCP agent. There is also the process of ensuring the existing driver can support this type of pluggability.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron (master)

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

Changed in neutron:
importance: Undecided → Wishlist
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote : Re: Add a driver for isc-dhcpd

Honestly, I always thought that the answer would be to handle dhcp traffic right on the vswitch. That said, the code to handle the dhcp process is so convoluted at times that I am not sure switching/enabling something else is worth the pain.

Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

To discuss at the drivers meeting.

Changed in neutron:
status: Confirmed → Triaged
Henry Gessau (gessau)
summary: - Add a driver for isc-dhcpd
+ [RFE] Add a driver for isc-dhcpd
Revision history for this message
Akihiro Motoki (amotoki) wrote :

 it would be great if the bug description explains the merit(s) of adopting isc-dhcp more clearly.
If you have some result of isc-dhcp performance on updating dhcp entries, it would be nice.
If isc-dhcp can support the current neutron model well, it sounds good to me for better management performance and stability(?).

I think having another dhcp back-end is a good start to improve dhcp driver interface.

Another question is whether we maintain another dhcp driver or not.
how to cover multiple drivers in our gate is a big question.

Akihiro Motoki (amotoki)
tags: added: l3-ipam-dhcp
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

The dhcp driver interface is already pluggable, and adding support for isc-dhcpd might lead to some refinements. Hopefully it's not too much work, but I am personally not convinced that yet another driver is really the answer to the limitations hinted here.

I'd rather look at the extent of the code involved before judging whether a sub-project makes sense or not. So if you want to start coding, feel free to do so and we'll evaluate the impact on the existing code base.

tags: added: rfe-approved
removed: rfe
Changed in neutron:
milestone: none → mitaka-1
Revision history for this message
Shraddha Pandhe (shraddha-pandhe) wrote :

@Armando,

Does this mean the spec https://review.openstack.org/#/c/212836/ needs to be merged in Mitaka-1? A bit confused.

Revision history for this message
Henry Gessau (gessau) wrote :

@Shraddha,

See http://docs.openstack.org/developer/neutron/policies/blueprints.html#neutron-request-for-feature-enhancements

Somewhere in there it says:

"As for setting the milestone (both for RFE bugs or blueprints), the current milestone is always chosen, assuming that work will start as soon as the feature is approved. Work that fails to complete by the defined milestone will roll over automatically until it gets completed or abandoned."

Changed in neutron:
milestone: mitaka-1 → mitaka-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Doug Wiegley (<email address hidden>) on branch: master
Review: https://review.openstack.org/212836
Reason: This review is > 4 weeks without comment, and failed Jenkins the last time it was checked. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and leaving a 'recheck' comment to get fresh test results.

Changed in neutron:
milestone: mitaka-2 → none
assignee: Shraddha Pandhe (shraddha-pandhe) → nobody
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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