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