BIND 10 #596: allow configurations without running services
BIND 10 Development
do-not-reply at isc.org
Thu May 5 18:02:17 UTC 2011
#596: allow configurations without running services
--------------------------------------------+----------------------------
Reporter: jreed | Owner:
Type: task | Status: new
Priority: major | Milestone:
Component: Unclassified | Resolution:
Keywords: | Sensitive: 0
Defect Severity: N/A | Sub-Project: DNS
Feature Depending on Ticket: | Estimated Difficulty: 0.0
Add Hours to Ticket: 0 | Total Hours: 0
Internal?: 0 |
--------------------------------------------+----------------------------
Comment (by vorner):
#810 does not solve this directly, it only allows for writing a python
plugin that does the checking. It is meant for configuration modules that
have no „home“ process (like TSIG keys, they are shared between multiple
modules, so there's no one that should do the checking).
However, it could be step towards this ticket as well. We could move all
the checking of configuration into modules (which would have two
advantages, one would be the offline configuration, another would be
writing the tedious checks in python even for C++ modules). It looks
cleaner to me as well, because we will want to have multiple auth servers,
for example, and which one of them should do the checking now? (currently,
it's the one that answers first, the rest is ignored)
But I think we'd like to think about the exact implementation first:
* Currently, module can either fail completely or be silent. It would be
nice to have an ability for warnings or non-fatal failures. The non-fatal
errors could come both from the plugins and from the processes, fatal ones
only from plugins (processes should be only notified about the new
configuration).
* What should be done in case when the configuration is syntactically
correct, but can't be used when the process is started? Like port numbers
‒ we can do some checks that they look sane and OK, but then binding them
fails. We couldn't predict it at the time in the plugin, but it's wrong
anyway.
* We should decide how to handle failure of new configuration. Currently
if a check fails, what is commited and checked already is left there, but
yet unchekced modules are aborted. We could either commit any module that
passes the check, rejecting only the ones that are problematic, or we
could do all the checks first and notify the processes after everything
was checked.
* If configuration of one module depends on another, do we want to have
dependencies to order the checks? Or we just use the new values from other
modules and hope they are OK or will fail later when checked?
Anyway, the current ticket is still valid, we can't configure b10-auth,
for example, if it's not running.
--
Ticket URL: <http://bind10.isc.org/ticket/596#comment:2>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list