BIND 10 #2957: DHCP-DDNS: Develop the DHCP DDNS configuration manager class
BIND 10 Development
do-not-reply at isc.org
Tue Jun 18 20:33:02 UTC 2013
#2957: DHCP-DDNS: Develop the DHCP DDNS configuration manager class
-------------------------------------+-------------------------------------
Reporter: stephen | Owner: tmark
Type: enhancement | Status:
Priority: medium | accepted
Component: dhcp | Milestone:
Keywords: | Sprint-DHCP-20130620
Sensitive: 0 | Resolution:
Sub-Project: DHCP | CVSS Scoring:
Estimated Difficulty: 0 | Defect Severity: N/A
Total Hours: 0 | Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by tmark):
The initial implementation of the D2CfgMgr is complete. This was done as
two part commit, the
first commit (dac0b87d5b0466e3aaf0f49ec7b2362606c03415) created the base
classes to provide BIND10 compatible configuration management to the DCTL
infrastructure. The new base classes added are:
!DCfgMgrBase - which provides the basic structure to parse a
configuration, provided access services to it for the rest of an
application.
!DCfgContextBase - acts as a storage container for application specific
context (i.e. configuration data).
DCfgMgrBase is designed to offload all of the work required to parse a
configuration. DProcess now passes inbound configuration updates through
to its configuration manager instance. The
configuration manager uses its context instance to store the parsed
configuration.
Skeletal derivations for D2: D2CfgMgr and D2CfgContext were added. These
new classes are shown in the following diagram:
[[Image(overal_plus_cfg_classes.svg)]]
The second commit (be6122f520871344324be1ceb9f118195d508bba) defined the
DHCP-DDNS configuration specification, implemented the classes to embody
it and parse it, and integrated this work into D2. The new classes added
to embody the configuration are:
!DdnsDomainListMgr - manages a list of domains and provides domain
matching services
!DdnsDomain - represents a domain and the servers that support it.
!DnsServerInfo - represents an actual DNS server and the information
necessary to communicate with it.
These classes are shown in the following diagram:
[[Image(d2_config_classes.svg)]]
The new parser classes mimic this basic structure and are listed below:
!DdnsDomainListMgrParser parses a managed domain list entry. It handles
any scalars which belong to the manager as well as creating and invoking a
!DdnsDomainListParser to parse its list of domain entries.
!DdnsDomainLiatParser creates and invokes !DdnsDomainListParser for each
domain entry in its list.
!DdnsDomainParser handles the scalars which belong to the domain as well
as
creating and invoking a !DnsSeverInfoListParser to parse its list of
server
entries.
!DnsServerInfoListParser creates and invokes a !DnsServerInfoParser for
each server entry in its list.
!DdnsServerInfoParser handles the scalars which belong to the server.
These classes are shown in the following diagram:
[[Image(d2_parsers.svg)]]
--
Ticket URL: <http://bind10.isc.org/ticket/2957#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list