BIND 10 #810: TSIG: Create non-module config location support
BIND 10 Development
do-not-reply at isc.org
Sat Apr 9 10:55:29 UTC 2011
#810: TSIG: Create non-module config location support
-------------------------------------+-------------------------------------
Reporter: stephen | Owner: UnAssigned
Type: | Status: assigned
enhancement | Milestone:
Priority: blocker | Sprint-20110419
Component: | Resolution:
Unclassified | Sensitive: 0
Keywords: | Add Hours to Ticket: 0
Estimated Number of Hours: 2.0 | Total Hours: 0
Billable?: 1 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by vorner):
* owner: vorner => UnAssigned
* status: accepted => assigned
Comment:
Hello
I thought it is easier to just load a bit of python code to check the
config than to implement another ad-hoc syntactic check loaded from spec
file (which spec file, anyway?). So I created somehow minimalistic plugin
loader.
It loads whatever python files are stored in
`$prefix/share/$package/config_plugins` and calls their `load()` function.
It's result should be a double `(specObject, checkingFunction)`. The spec
object is the usual spec that arrives by the wire from modules, checking
functions is called to validate all the modifications.
There are two things I'm unsure:
* Where should we store the plugins in our source code? Under the
`bin/cfgmgr/plugins`? And is there a way to get this directory from the
build system somehow from python script? Like when the B10_FROM_BUILD is
set, we should be able to find them as well.
* What a module does when it wants to read another module's
configuration? It subscribes to the messages of the module and handle its
config changes, not responding to it (eg. silently spying it)? If so, I
need to send the message (but not expect answer) even when the module is
validated by plugin. And what would happen if, for example, we had two
auth modules running? If something else, what happens to it?
As for changelog:
{{{
[func] vorner
It is possible to add modules to configuration that doesn't correspond
to running process. It is handled by a python plugin that is loaded
at startup. For more detail, you can have a look at test plugin in
src/bin/cfgmgr/tests/testdata/plugins.
}}}
Thanks
--
Ticket URL: <http://bind10.isc.org/ticket/810#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list