BIND 10 #3339: Merge config changes with existing config in Kea doesn't work for map elements

BIND 10 Development do-not-reply at isc.org
Fri Feb 14 18:39:56 UTC 2014


#3339: Merge config changes with existing config in Kea doesn't work for map
elements
-------------------------------------+-------------------------------------
                   Reporter:  tmark  |                 Owner:
                       Type:         |                Status:  new
  defect                             |             Milestone:  DHCP-
                   Priority:         |  Kea0.9-alpha
  medium                             |              Keywords:
                  Component:  dhcp-  |             Sensitive:  0
  ddns                               |           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      |
-------------------------------------+-------------------------------------
 When a configuration update is received by b10-dhcp4, logic in
 ControlledDhcpv4Srv::dhcp4ConfigHandler() merges the changed configuration
 elements sent by the control session into the full configuration before
 submitting it for configuration parsing.

 However, the merge does not properly handle elements, which are themselves
 maps.

 When a map element is altered through bindctl, the update message will
 contain the map element and only the sub-elements that were altered.  For
 instance if you change "dhcp-ddns/server-port" to 413,  the update message
 will contain this:

 { "dhcp-ddns": { "server-port": 413 } }


 The merge logic ends up replacing the existing map element with the
 partial map element received rather than merging the two and using the
 result.

 This causes the dhcp-ddns parser to invalidate the configuration due to
 missing parameters.

 Either the merge logic needs to be augmented to correctly merge map
 elements or we need to rewrite all of the Kea parsing to permit processing
 updates.

 In the meantime, if one wishes to alter one value in the mapped element
 you must respecify them all.  In other words, if you want to alter one
 value in dhcp-ddns through bindctl, you must set all of them and then
 issue the commit.

-- 
Ticket URL: <http://bind10.isc.org/ticket/3339>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list