Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • Kea Kea
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 595
    • Issues 595
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 60
    • Merge requests 60
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • ISC Open Source ProjectsISC Open Source Projects
  • KeaKea
  • Merge requests
  • !1994

Resolve "Disable DHCID"

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Thomas Markwalder requested to merge 2276-disable-dhcid into master May 11, 2023
  • Overview 38
  • Commits 10
  • Pipelines 0
  • Changes 92

Closes #2276 (closed)

#huge-sorry

This merges in a contribution from Infoblox which replaces the boolean ddns-use-conflict-resolution parameter an enumerated parameter ddns-conflict-resolution-mode. Prior to this, one could only enable or disable conflict resolution, and DNS entries always include a DHCID resource record. Now there are four modes of behavior: check-with-dhcid, no-check-with-dhcid, check-exists-with-dhcid, no-check-without-dhcid (see ARM updates for more details).

kea-dhcp-ddns was modified to recognize either parameter. The modifications include new transaction classes that implement the new state models:

  • CheckExistsAdd
  • CheckExistsRemove
  • SimpleAddWithoutDhcid
  • SimpleRemoveWithoutDhcid

along with accompanying new UTs. Arguably, one could have modified the existing classes to use the NCR mode parameter to determine when to include or exclude DHCID related RRs and refactoring could be considered under a new ticket.

Regarding kea-dhcp<4/6> configuration. I modified the JSON config file parsing to translate the old parameter into the new parameter and emit a warning log that the old value is deprecated. The existing parameter was never fully added to CB, but could be stored as a global parameter, so I created schema upgrades that migrate the global values as needed.

I have manually system tested all four modes with kea-dhcp-ddns and BIND9 and they appear to work as expected.

CB and sysrepo support for the new parameter could be done either as a new issue (my preference) or a new MR.

Edited Jun 06, 2023 by Thomas Markwalder
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: 2276-disable-dhcid