From b4d70d600856916ea14e7ffbcd99c724cddf7b24 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Mon, 20 Jul 2026 23:13:13 +1000 Subject: [PATCH] Fix cobbler CNAME target to be fully-qualified The cobbler master exports cobbler.main.unkin.net as a CNAME whose value is the bare hostname. BIND's legacy zone-file load completes that against $ORIGIN, but dns-updater renders RFC2136 updates with no $ORIGIN, so the bare label becomes root-absolute (ausyd1nxvm2098.) and dead-ends in NXDOMAIN on the k8s authoritative/resolvers. Qualify the target so both publish paths resolve identically. --- site/profiles/manifests/cobbler/config.pp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/site/profiles/manifests/cobbler/config.pp b/site/profiles/manifests/cobbler/config.pp index 3042d98..adce4aa 100644 --- a/site/profiles/manifests/cobbler/config.pp +++ b/site/profiles/manifests/cobbler/config.pp @@ -68,7 +68,10 @@ class profiles::cobbler::config { # export cnames for cobbler if $is_cobbler_master { profiles::dns::record { "${::facts['networking']['fqdn']}_${service_cname}_CNAME": - value => $::facts['networking']['hostname'], + # CNAME target must be a fully-qualified name (trailing dot): dns-updater + # parses the value with no $ORIGIN, so a bare label becomes root-absolute + # ("ausyd1nxvm2098.") and dead-ends in NXDOMAIN. + value => "${::facts['networking']['fqdn']}.", type => 'CNAME', record => "${service_cname}.", zone => $::facts['networking']['domain'], -- 2.47.3