[Dnsmasq-discuss] Configuration in dynamic storage?

Simon Kelley simon at thekelleys.org.uk
Fri Apr 12 10:42:35 BST 2013


On 10/04/13 19:31, Niels Basjes wrote:
> Hi,
>
> Yes, that is what I have now.
> But why the reload of dnsmasq for trivial changes?
>
> Wayback I've played with an LDAP connector for the ISC DHCPD and I was
> simply wondering if dnsmasq has a similar feature (or if it would even be
> possible to have for dnsmasq).
>

Regardless of the source of configuration information, I'd be very wary 
of adding something which makes live queries against any database 
system. There are a couple of reasons for this: firstly, to keep the 
memory footprint small, dnsmasq controls concurrency quite carefully. If 
there was a database lookup which might block in the main codepath, 
either dnsmasq would have to bloat to allow more concurrent processing 
of DNS queries, or it would have to run the risk that database-access 
blocking  would stop all DNS queries for the duration.

Secondly, there's a massive risk of deadlock, can be guarantee that your 
database backend never needs to make a DNS query? If not your risk the 
database waiting on dnsmasq, whilst dnsmasq is waiting on the database, 
and both will wait forever.

I have a long-term vision of fixing the configuration system which involves:

1) Splitting the config into that which requires a restart and that 
which doesn't.

2) Providing a modular API to allow the configuration which doesn't 
require restart to come from any source. One of these would be the 
traditional config file, of course.

3) Coding a way to re-read the configuration via the above module(s) and 
then atomically insert the new config without stopping dnsmasq, which 
would allow the configuration module to access LDAP or databases without 
the risk of deadlock via DNS queries.


Cheers,


Simon.

>
> On Wed, Apr 10, 2013 at 8:13 PM, sven falempin<sven.falempin at gmail.com>wrote:
>
>> why a database in your case ?
>>
>> kill -HUP
>> init.d/... reload
>>
>> <<
>> DNSMASQ considerations
>>
>> If using dnsmasq, the template file is /etc/cobbler/dnsmasq.template but
>> it basically works as for ISC (above). Remember that dnsmasq also provides
>> DNS.
>>
>>
>>>>
>>
>>
>> On Wed, Apr 10, 2013 at 8:57 AM, Niels Basjes<dnsmasq at basjes.nl>  wrote:
>>
>>> Hi,
>>>
>>> Is it possible to store the config of dnsmasq in some kind of database?
>>> What I would like is to be able to have an other tool (like cobbler) to
>>> update the config (i.e. add/remove host definitions, cnames and such)
>>> without the need to restart dnsmasq.
>>>
>>> Is this possible?
>>>
>>> --
>>> Met vriendelijke groeten,
>>>
>>> Niels Basjes
>>>
>>> _______________________________________________
>>> Dnsmasq-discuss mailing list
>>> Dnsmasq-discuss at lists.thekelleys.org.uk
>>> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>>>
>>>
>>
>>
>> --
>>
>> ---------------------------------------------------------------------------------------------------------------------
>> () ascii ribbon campaign - against html e-mail
>> /\
>>
>
>
>
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss




More information about the Dnsmasq-discuss mailing list