Skip to content

dns-controller: always apply the addon, empty when unused#18567

Merged
kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
hakman:dns-controller-none-dns
Jul 10, 2026
Merged

dns-controller: always apply the addon, empty when unused#18567
kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
hakman:dns-controller-none-dns

Conversation

@hakman

@hakman hakman commented Jul 9, 2026

Copy link
Copy Markdown
Member

When a cluster does not use dns-controller (dns=none topology or the external-dns provider), the dns-controller addon was dropped from the bootstrap channel entirely. Channels never prunes addons that are no longer in the channel, so clusters migrating from gossip to dns=none were left with an orphaned dns-controller deployment that had to be deleted manually.

Keep applying the dns-controller addon on every cluster, with an empty manifest and prune directives when it is unused, so that any previously deployed dns-controller resources are cleaned up automatically.

/cc @rifelpet @ameukam

@kubernetes-prow kubernetes-prow Bot requested review from ameukam and rifelpet July 9, 2026 15:51
@kubernetes-prow kubernetes-prow Bot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Jul 9, 2026
When a cluster does not use dns-controller (dns=none topology or the
external-dns provider), the dns-controller addon was dropped from the
bootstrap channel entirely. Channels never prunes addons that are no
longer in the channel, so clusters migrating from gossip to dns=none
were left with an orphaned dns-controller deployment that had to be
deleted manually.

Keep applying the dns-controller addon on every cluster, as a tombstone
with an empty manifest and prune directives when it is unused, so that
any previously deployed dns-controller resources are cleaned up
automatically.
@hakman hakman force-pushed the dns-controller-none-dns branch from b6b8ed9 to 35354f2 Compare July 9, 2026 16:53
@hakman

hakman commented Jul 9, 2026

Copy link
Copy Markdown
Member Author

/retest

@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rifelpet

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubernetes-prow kubernetes-prow Bot added approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Jul 10, 2026
@kubernetes-prow kubernetes-prow Bot merged commit 3ccc390 into kubernetes:master Jul 10, 2026
29 checks passed
hakman added a commit to hakman/kops that referenced this pull request Jul 10, 2026
The cherry-pick of kubernetes#18567 carried master's aws-cloud-controller
manifestHash into the new dns-none bootstrapchannelbuilder golden.
On release-1.36 the aws-cloud-controller addon manifest differs, so the
embedded hash did not match, failing TestBootstrapChannelBuilder_BuildTasks.
Regenerate the golden against release-1.36 so the hash matches.
kubernetes-prow Bot added a commit that referenced this pull request Jul 10, 2026
…-upstream-release-1.36

Automated cherry pick of #18567: dns-controller: always apply the addon, empty when unused
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants