From 586ba66b7a0460905cfd394b73f59d0656e9791a Mon Sep 17 00:00:00 2001 From: k8s-infra-cherrypick-robot <90416843+k8s-infra-cherrypick-robot@users.noreply.github.com> Date: Mon, 18 Nov 2024 01:34:53 -0800 Subject: [PATCH] Fix the pretty-printing of (core|nodelocal)dns (#11721) When using dns_upstream_forward_extra_opts: prefer_udp: "" # the option as no value so use empty string to just # put the key This is rendered in the dns configmap as ($ for end-of-line) ... prefer_udp $ ... Note the trailing space. This triggers https://github.com/kubernetes/kubernetes/issues/36222, which makes the configmap hardly readable when editing them manually or simply putting them in a yaml file for inspection. Trim the concatenation of option + value to get rid of any trailing space. Co-authored-by: Max Gautier --- .../ansible/templates/coredns-config.yml.j2 | 4 +++- .../ansible/templates/nodelocaldns-config.yml.j2 | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/roles/kubernetes-apps/ansible/templates/coredns-config.yml.j2 b/roles/kubernetes-apps/ansible/templates/coredns-config.yml.j2 index 8a4811937..841dc6501 100644 --- a/roles/kubernetes-apps/ansible/templates/coredns-config.yml.j2 +++ b/roles/kubernetes-apps/ansible/templates/coredns-config.yml.j2 @@ -73,7 +73,9 @@ data: max_concurrent 1000 {% if dns_upstream_forward_extra_opts is defined %} {% for optname, optvalue in dns_upstream_forward_extra_opts.items() %} - {{ optname }} {{ optvalue }} + {{ (optname ~ ' ' ~ optvalue) | trim }} + {# do not add a trailing space when optvalue == '' + workaround for: https://github.com/kubernetes/kubernetes/issues/36222 #} {% endfor %} {% endif %} } diff --git a/roles/kubernetes-apps/ansible/templates/nodelocaldns-config.yml.j2 b/roles/kubernetes-apps/ansible/templates/nodelocaldns-config.yml.j2 index e8ce54529..b377db03f 100644 --- a/roles/kubernetes-apps/ansible/templates/nodelocaldns-config.yml.j2 +++ b/roles/kubernetes-apps/ansible/templates/nodelocaldns-config.yml.j2 @@ -82,7 +82,9 @@ data: bind {{ nodelocaldns_ip }} forward . {{ upstreamForwardTarget }}{% if dns_upstream_forward_extra_opts is defined %} { {% for optname, optvalue in dns_upstream_forward_extra_opts.items() %} - {{ optname }} {{ optvalue }} + {{ (optname ~ ' ' ~ optvalue) | trim }} + {# do not add a trailing space when optvalue == '' + workaround for: https://github.com/kubernetes/kubernetes/issues/36222 #} {% endfor %} }{% endif %} @@ -164,7 +166,9 @@ data: bind {{ nodelocaldns_ip }} forward . {{ upstreamForwardTarget }}{% if dns_upstream_forward_extra_opts is defined %} { {% for optname, optvalue in dns_upstream_forward_extra_opts.items() %} - {{ optname }} {{ optvalue }} + {{ (optname ~ ' ' ~ optvalue) | trim }} + {# do not add a trailing space when optvalue == '' + workaround for: https://github.com/kubernetes/kubernetes/issues/36222 #} {% endfor %} }{% endif %}