HI all,
Myself and CID from the GR-OSS team are planning on, community willing, adding a new, more reliable DHCP backend to both Ironic and Neutron. Right now, that looks like kea, but we are less concerned about the specific project as much as we are about it not being dnsmasq (
https://bugs.launchpad.net/ironic/+bug/2026757 ).
I think until ml2/ovs is part of the tree (and I don't think it will be booted any time soon), DHCP agent is just a must. There are also some (BM iPXE?) use cases that require a DHCP agent even with ml2/ovn at the moment. (Though we are on the lookout to reduce the number of these special scenarios.)
Given neither of us are incredibly familiar with the Neutron codebase, we wanted to get buy in and some general implementation advice.
I don't think there's lots of experience of actually implementing an alternative driver; I am sure this pluggable point is not the best abstraction / has rough edges / relies on some unexpected dnsmasq quirks and assumptions, but it's definitely doable and supposed to just work. The interface was never pushed into neutron-lib because of lack of demand, but if it's usable, we could even promote it to an official status. (Then Kea implementation could even live out-of-tree. If that's what you'd prefer.)
As a note; if desired this can happen outside PTG, but this DHCP conversation is a PTG topic for Ironic so I thought this would be a good place to do it.
--
Jay Faulkner