[Kea-users] Kea Configuration Backend Example / Documentation

Klaus Steden klausfiend at gmail.com
Sun Aug 23 21:57:25 UTC 2020


Hi there,

We use MySQL as a backend for our Kea infrastructure, and at the time we
were doing application development, the hook libraries were all licensed
products and a lot of the other nice glue just didn't exist. Granted we
don't do anything terrible sophisitcated with our setup, but within our
environment, Kea itself is managed by the aforementioned application using
standard MySQL APIs; the configuration itself that Kea supports lives in
that application's database (VLAN info, subnet IDs, scopes, etc.) using
fairly basic but predictable rules, and the application has an HTTP
endpoint that will generate YAML of all our scopes that we then feed into
Salt states to manage the Kea config. It sounds maybe a bit more
complicated than it actually is, but the basic gist is:

- scope information is managed by an in-house provisioning application
- said application generates configuration data that is loaded directly
into our configuration management pipeline
- said configuration management pipeline is used to keep our Kea servers up
to date
- said application supports API-driven management of lease/reservation data
directly in Kea via Python's MySQL API

Granted, our use case is very specific -- we use Kea as more of a
programmatic resource for a general-purpose infrastructure provisioning
service -- but it's definitely done a lot of heavy lifting for us over the
last 2-3 years. I guess maybe what I'm saying is you may get where you want
to go using other approaches to managing DHCP as a service via Kea without
having to dive directly into its APIs, and while a separate information
source adds complexity, if you can script the interactions between it and
Kea, it's possible to end up with the results it sounds like you're looking
for.

hth,
Klaus

On Fri, Aug 21, 2020 at 11:08 AM KennyU05 <kennyunger at gmail.com> wrote:

> Hello,
>
> I'm attempting to build some in-house automation processes on top of Kea.
> It
> will utilize a MariaDB Galera database on the backend. As part of this
> tool,
> I will be required to insert configuration data directly into the Kea MySQL
> database. I've been frustratingly fumbling my way through creating the
> subnet, the pool, and all the associated links between the subnet and the
> server. Right now I'm trying to figure out how to create the options. We
> don't use anything non-standard. However, I'm having difficulty
> understanding what the requirements are for the dhcp4_options table. I've
> read through the ARM as well as the database creation script in source. I
> even dug into some of Kea's code to try to understand what it was looking
> for. Granted, I'm a SysAdmin by trade, so my coding abilities aren't as
> skilled as the Kea devs.
>
> What I'm hoping to find is more clear documentation or examples of a MySQL
> configuration backend that demonstrates the data required to have a fully
> functioning DHCP server. This could be as simple as a MySQL dump of a
> simple
> working database.
>
> I know that ISC probably wants to encourage people to use the cb_cmds
> subscriber-only hook, and I don't blame them. At the same time, if they
> want
> people to really switch away from the old ISC-DHCP implementation they
> should make Kea as easy to adopt as possible.
>
> If I can't get the Kea CB figured out, I'll just end up writing scripts to
> generate the old JSON configuration files based of a database of my own
> creation.
>
> Any help or insight from people who have gone through this struggle would
> be
> greatly appreciated!
>
> Thanks!
> Kenny
>
>
>
> --
> Sent from: http://kea-users.7364.n8.nabble.com/
> _______________________________________________
> ISC funds the development of this software with paid support
> subscriptions. Contact us at https://www.isc.org/contact/ for more
> information.
>
> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
>
> Kea-users mailing list
> Kea-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.isc.org/pipermail/kea-users/attachments/20200823/45c8d9d0/attachment.htm>


More information about the Kea-users mailing list