BIND 10 #2989: Python notify_out module should use general datasource configuration, not Auth/database_file
BIND 10 Development
do-not-reply at isc.org
Tue Jun 4 22:50:58 UTC 2013
#2989: Python notify_out module should use general datasource configuration, not
Auth/database_file
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: | Milestone: Next-Sprint-
defect | Proposed
Priority: | Keywords:
medium | Sensitive: 0
Component: | Sub-Project: DNS
xfrout | Estimated Difficulty: 0
CVSS Scoring: | Total Hours: 0
Defect Severity: N/A |
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
This is a subtask of #2965.
We'll update the isc.notify.notify_out module to get rid of the
reference to the `Auth/database_file` config, etc.
More specifics based on #2964:
- import 'data_sources' module instead of 'Auth' as a remote module.
See `Xfrin` constructor.
- maintain `isc.server_common.DataSrcClientsMgr` object and call its
reconfigure() from `Xfrin._datasrc_config_handler`
- when a data source is necessary, get it from the `DataSrcClientsMgr`
using its `get_client_list()`. See xfrin_start().
- then remove any reference to auth module, "db_file", sqlite3
specifics, etc.
A tricky point of notify_out is that it's also run on a different
thread, and uses `ZoneFinder` in various places. We could share it
with the main xfrout threads with careful synchronization, but that
will make the already messy implementation (wrt the naive use of
threads) even messier.
So my suggestion is to create and use a separate `DataSrcClientsMgr`
in the notify_out module. In the main xfrout module, when a config
update for the data_sources module is delivered, it will reconfigure
the main and notify's `DataSrcClientsMgr`. It's a bit redundant, but
resource-wise it shouldn't be that heavy in practice as we'll simply
maintain two separate SQLite3 connections (so the cost is independent
from the size or number of zones, for example).
When we re-design and implement xfr's we can handle it in a cleaner way.
On completion of this task, we can fully get rid of the old stuff from
xfrout. We should also be able to remove Auth/database_file from
lettuce tests on xfrout.
--
Ticket URL: <http://bind10.isc.org/ticket/2989>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list