BIND 10 #3059: Create initial UpdateMgr class

BIND 10 Development do-not-reply at isc.org
Mon Aug 5 19:28:44 UTC 2013


#3059: Create initial UpdateMgr class
-------------------------------------+-------------------------------------
            Reporter:  tmark         |                        Owner:
                Type:  enhancement   |  UnAssigned
            Priority:  medium        |                       Status:
           Component:  dhcp-ddns     |  reviewing
            Keywords:                |                    Milestone:
           Sensitive:  0             |  Sprint-DHCP-20130731
         Sub-Project:  DHCP          |                   Resolution:
Estimated Difficulty:  0             |                 CVSS Scoring:
         Total Hours:  0             |              Defect Severity:  N/A
                                     |  Feature Depending on Ticket:
                                     |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Changes (by tmark):

 * owner:   => UnAssigned
 * status:  new => reviewing


Comment:

 he initial implementation of D2UpdateMgr is complete with git commits:

 307eb1cc6cd90c831d95af0511424b5b468e4d37

 ebed5cb932b16588af7a8fafbd6fc31321154f3e

 D2UpdateMgr is the DHCP_DDNS task master, instantiating and then
 supervising
 transactions that carry out the DNS updates needed to fulfill the requests
 (!NameChangeRequests) received from DHCP_DDNS clients (e.g. DHCP servers).

 D2UpdateMgr uses the services of D2QueueMgr to monitor the queue of
 !NameChangeRequests and selects and dequeue requests for processing.
 When request is dequeued for processing it is removed from the queue and
 wrapped in !NameChangeTransaction and added to the D2UpdateMgr's list of
 transactions.   D2UpdateMgr monitors the list of transactions, and as they
 complete removes them from the list.

 The work for this ticket includes a stub implementation of the
 !NameChangeTransaction class. This should be considered a placeholder, as
 the
 the transaction classes will be developed under their own ticket.

 D2UpdateMgr uses domain matching services provided by D2CfgMgr, during
 transaction construction to match requests to the appropriate DNS servers.
 The D2CfgMgr class was augmented to supply reverse IP address construction
 and uses it for reverse server matching, (see D2CfgMgr::reverseMatch()).
 In
 addition, the DdsnDomain::matchDomain() method was revamped to be more
 efficient.  Observations during testing of reverse server matching with
 IPv6
 addresses revealed some rather obivous shortcomings.

 Lastly, the "<" operator was added to dhcp_ddns/D2Dhcid. This facilitates
 using
 the DHCID value for tracking transactions.

 The following class diagram shows the D2UpdateMgr and related changes:

 [[Image(d2_update_mgr_classes.svg)]]


 !ChangeLog entry:

 6xx.    [func]      tmark

 Added D2UpdateMgr class to DHCP_DDNS. This class the DHCP_DDNS task
 master,
 instantiating and supervising transactions that carry out the DNS updates
 needed to fulfill the requests (!NameChangeRequests) received from
 DHCP_DDNS
 clients (e.g. DHCP servers).
 (Trac #3059 git TBD)

-- 
Ticket URL: <http://bind10.isc.org/ticket/3059#comment:3>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list