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