A proposal for Kea configuration design

Thomas Markwalder tmark at isc.org
Mon May 5 19:17:36 UTC 2014


On 5/5/14, 3:01 PM, Stephen Morris wrote:
>> 1. Add capability to have switchable backends. A new parameter
>> called --with-kea-config will be implemented in configure script.
>> It will allow selecting at compilation time how the servers will be
>> configured. For the next 2-3 months, we'll have 2 values: JSON
>> (read from file) and BIND10 (use bind10 framework).
(Tomek has already seen my comment, below,  so this is for others:)

I have some issues with this. Maybe it is just the semantics. What you
are selecting between here is not a configuration mechanism, but whether
or not Kea components can run as BIND10 modules. So really you are
selecting between run time topologies more than alternate configuration
mechanisms. There is more to BIND10 participation than just
configuration, it governs process startup, shutdown, restarts on crash,
etc.

Unlike the Lease Database, which has an API, we don't really have an API
for configuration. Each server has its information model (Interface,
Subnets, Pools...) and our parsing creates it from JSON. If we want to
use XML or LDAP, somehow one has to construct the same information model
but from an alternate from of configuration data. This is something that
would require a good deal of thought and design.  Also, If "back end"
choices mean different top level source files than aren't they mutually
exclusive?

Rather than have a switch and multiple source files,  why not simply use
the stand-alone command line option to test "From file config" and leave
the bind10 session code in place until we are ready to take it out. This
way one build lets you run either way and we aren't creating temporary
files and configuration options.



More information about the kea-dev mailing list