Skip to content

NE-2790: Update CoreDNS to v1.14.7 - #197

Open
aswinsuryan wants to merge 641 commits into
openshift:mainfrom
aswinsuryan:NE-2790-rebase-coredns-v1.14.4
Open

aswinsuryan wants to merge 641 commits into
openshift:mainfrom
aswinsuryan:NE-2790-rebase-coredns-v1.14.4

Conversation

@aswinsuryan

@aswinsuryan aswinsuryan commented Aug 5, 2026

Copy link
Copy Markdown

Summary

  • Version: v1.13.1 → v1.14.7 (supersedes the earlier v1.14.4-only attempt; v1.14.5–v1.14.7 picked up in this same pass)
  • Carries: 7 reapplied, 1 dropped, 1 squashed
  • Conflicts: 3 resolved (dependabot modify/delete, go.mod, plugin.cfg/zdirectives.go)
  • Validation: ✅ Build and tests passing

Action Plan

  • ✅ Analyze current state
  • ✅ Execute rebase
  • ✅ Generate rebase report
  • ✅ Generate stakeholder review document
  • ⬜️ Stakeholder meeting
  • ⬜️ CI review
  • ⬜️ Peer code review
  • ⬜️ OpenShift release notes

Commands Executed

VERSION=v1.14.7
git checkout -b NE-2790-rebase-coredns-v1.14.4 ${VERSION}   # branch name kept from earlier attempt
git merge --no-ff --strategy=ours upstream/main
# Cherry-picked carries: OWNERS, dependabot, vendor-tracking, make-test
# TLS-defaults carry skipped — already upstream in v1.14.7 (#8227 / bc4343b08)
git cherry-pick 62c0e7e7b  # Go 1.26 alignment (go.mod -> 1.26.6, 3 vet fixes)
# Reapplied ocp_dnsnameresolver plugin (01fb3d1, k8s v0.36.2)
go generate coredns.go
go mod tidy && GOFLAGS=-mod=vendor go mod vendor
CGO_ENABLED=0 go build -o coredns
GOFLAGS=-mod=vendor go test -count=1 ./...

Carries Applied (7)

  • UPSTREAM: : openshift: Update OWNERS
  • UPSTREAM: : openshift: Disable dependabot
  • UPSTREAM: : openshift: Track vendor directory in git
  • UPSTREAM: : openshift: Add make test target and set GOTOOLCHAIN=local
  • UPSTREAM: : openshift: Align Go version files to 1.26 builder images (go.mod → 1.26.6, matching v1.14.7's own .go-version)
  • UPSTREAM: : openshift: add ocp_dnsnameresolver plugin (01fb3d1, k8s v0.36.2)
  • UPSTREAM: : openshift: update vendor

Dropped (1)

High Priority Review Items

  • ⚠️ Go 1.26.6 minimum: CI/build images must support Go ≥1.26.6 — a higher bar than the 1.26.3 the earlier v1.14.4 attempt needed. Confirm before merge.
  • ⚠️ k8s deps v0.36.2: ocp_dnsnameresolver has no v0.35.x release; Go MVS bumps k8s from v0.35.4 to v0.36.2 (unchanged from the earlier attempt).
  • ⚠️ ACL bypass fixes (autopath bypass, cached answers reaching blocked clients) landed between v1.14.4 and v1.14.7 — security-relevant, worth explicit sign-off.
  • ⚠️ plugin.cfg reorder: upstream moved tls to run just after dnssec (previously ran near proxyproto/quic) so dnssec can sign ACME challenge records first — a real change to plugin execution order.
  • ⚠️ Stricter config validation trend continues — multiple plugins reject unknown block options.

📄 Full Rebase Report | 📋 Stakeholder Review

dependabot Bot and others added 30 commits May 27, 2026 20:49
Bumps [actions/stale](https://github.com/actions/stale) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@b5d41d4...eb5cf3a)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
DoQWriter previously stored only the QUIC stream, so plugins reading
TLS state via dns.ConnectionStater (e.g. for SNI-based routing or
auditing) could not see anything for DoQ connections, even
though the underlying QUIC connection carries a full tls.ConnectionState.

This change adds a *quic.Conn reference to DoQWriter and wires it in serveQUICStream.

It implements dns.ConnectionStater on *DoQWriter, returning the TLS
state from the underlying QUIC connection (mirrors the DoT behavior
that miekg/dns already provides for *tls.Conn)

Forwards ConnectionState through request.ScrubWriter, which wraps
every response writer before the plugin chain runs; the embedded
dns.ResponseWriter interface does not promote ConnectionState (it
belongs to a separate interface), so without this plugins would
still see nil for both DoQ and DoT

Signed-off-by: Nicholas Amorim <nicholas@santos.ee>
…dation (coredns#8131)

Signed-off-by: immanuwell <pchpr.00@list.ru>
…edns#5646) (coredns#7923)

Signed-off-by: Dmytro Alieksieiev <1865999+dragoangel@users.noreply.github.com>
Signed-off-by: immanuwell <pchpr.00@list.ru>
This PR Set a conservative MaxHeaderBytes value on the DoH3 HTTP/3 server.
This reduces memory exposure from large request headers before requests
reach the DoH handler.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* build: add loong64 arch support to Makefile.docker and Makefile.release

Signed-off-by: 徐晓伟 <xuxiaowei@xuxiaowei.com.cn>

* build: add loong64 docker build config using loong64 community images

Signed-off-by: 徐晓伟 <xuxiaowei@xuxiaowei.com.cn>

---------

Signed-off-by: 徐晓伟 <xuxiaowei@xuxiaowei.com.cn>
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.54.0 to 0.55.0.
- [Commits](golang/net@v0.54.0...v0.55.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) from 1.32.17 to 1.32.18.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@config/v1.32.17...config/v1.32.18)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.32.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…s#8149)

The DoH server resolved the per-connection local address in a custom
http.Server.ConnContext callback. ConnContext runs synchronously in the
http.Server accept loop, so calling c.LocalAddr() there is a problem when
the listener is proxyproto-wrapped: LocalAddr() triggers the PROXY-header
read, which blocks the accept loop until the header arrives and
head-of-line-blocks acceptance of every other connection.

net/http and http2 already populate http.LocalAddrContextKey from the
connection in the per-connection serving goroutine (net/http server.go,
http2 server_common.go / h2_bundle.go), resolved through the same
tls.Conn -> proxyproto.Conn chain. For a proxyproto connection that value
is the PROXY header's destination address -- byte-identical to what the
custom callback produced -- and it is set off the accept loop on both the
HTTP/1.1 and HTTP/2 paths.

Drop the custom ConnContext callback and the connKey type, and read
http.LocalAddrContextKey in localAddr() instead. The client address is
unaffected: it arrives via r.RemoteAddr, which the framework populates
natively.

Signed-off-by: zongqi-wang <wangzongqi@msn.com>
…the query zone (coredns#8138)

Signed-off-by: Björn Kinscher <code@bjoern-kinscher.de>
Co-authored-by: Björn Kinscher <code@bjoern-kinscher.de>
* plugin/cache: allow cache TTLs above default 3600s

This change allows the cache plugin to honor configured maximum TTL values above the default 3600s limit. Default behavior remains unchanged
This PR fixes 7846

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

* Keep MinimalTTL

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>

---------

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
In preparing for 8148

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
This is part of the 8152

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
…ormed PROXY packets (coredns#8154)

Avoid a potential nil pointer dereference in PacketConn.ReadFrom() when malformed PROXY protocol headers cause readFrom() to return a nil address.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Bumps the go-etcd-io group with 2 updates: [go.etcd.io/etcd/api/v3](https://github.com/etcd-io/etcd) and [go.etcd.io/etcd/client/v3](https://github.com/etcd-io/etcd).


Updates `go.etcd.io/etcd/api/v3` from 3.6.11 to 3.6.12
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.6.11...v3.6.12)

Updates `go.etcd.io/etcd/client/v3` from 3.6.11 to 3.6.12
- [Release notes](https://github.com/etcd-io/etcd/releases)
- [Commits](etcd-io/etcd@v3.6.11...v3.6.12)

---
updated-dependencies:
- dependency-name: go.etcd.io/etcd/api/v3
  dependency-version: 3.6.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-etcd-io
- dependency-name: go.etcd.io/etcd/client/v3
  dependency-version: 3.6.12
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-etcd-io
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…coredns#8168)

Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.41.7 to 1.41.11.
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](aws/aws-sdk-go-v2@v1.41.7...v1.41.11)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-version: 1.41.11
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.45.0 to 0.46.0.
- [Commits](golang/sys@v0.45.0...v0.46.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-version: 0.46.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
sueun-dev and others added 2 commits August 18, 2026 11:12
…redns#8421)

* plugin/rewrite: apply rcode rewrites to record-less responses

An rcode rewrite rewrites the message-level RCODE, but the reverter only ran
response rules from inside the per-record loops in WriteMsg. When a response
carries no answer, authority or additional records - for example a bare
SERVFAIL that a downstream plugin returns to a non-EDNS client - none of the
loops iterate, so the rcode rewrite was silently skipped and the client
received the original RCODE.

Apply message-level response rules once when the response has no records, using
a small marker interface that mirrors the existing requestExtraRevertRule
pattern. This fixes the plugin's documented SERVFAIL-to-NOERROR use case for
responses without records.

Signed-off-by: Sueun Cho <sueun.dev@gmail.com>

* plugin/rewrite: apply fallback rcode rewrites for continue

Signed-off-by: Sueun Cho <sueun.dev@gmail.com>

---------

Signed-off-by: Sueun Cho <sueun.dev@gmail.com>
This PR adds release note 1.14.7 for 8416

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
@gcs278

gcs278 commented Aug 21, 2026

Copy link
Copy Markdown

@aswinsuryan since 1.14.7 is already out, what do you think about jumping a bit further? All good if you'd rather merge 1.14.4 first, then do another bump.

…dns-v1.14.4

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Add downstream team members to the OWNERS file for OpenShift DNS component.
Squashed from f523fe5 and fdb17cd.

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
@aswinsuryan
aswinsuryan force-pushed the NE-2790-rebase-coredns-v1.14.4 branch from 83cfbcd to 3798450 Compare September 9, 2026 21:09
@coderabbitai

coderabbitai Bot commented Sep 9, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 75e4ad2f-f63e-4a90-bf1a-788c7424ca55


Comment @coderabbitai help to get the list of available commands.

@aswinsuryan aswinsuryan changed the title NE-2790: Update CoreDNS to v1.14.4 NE-2790: Update CoreDNS to v1.14.7 Sep 9, 2026
@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from davidesalerno. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@aswinsuryan aswinsuryan closed this Sep 9, 2026
@aswinsuryan
aswinsuryan deleted the NE-2790-rebase-coredns-v1.14.4 branch September 9, 2026 21:11
@aswinsuryan
aswinsuryan restored the NE-2790-rebase-coredns-v1.14.4 branch September 9, 2026 21:15
@aswinsuryan aswinsuryan reopened this Sep 9, 2026
@openshift-ci-robot

openshift-ci-robot commented Sep 9, 2026

Copy link
Copy Markdown

@aswinsuryan: This pull request references NE-2790 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Summary

  • Version: v1.13.1 → v1.14.7 (supersedes the earlier v1.14.4-only attempt; v1.14.5–v1.14.7 picked up in this same pass)
  • Carries: 7 reapplied, 1 dropped, 1 squashed
  • Conflicts: 3 resolved (dependabot modify/delete, go.mod, plugin.cfg/zdirectives.go)
  • Validation: ✅ Build and tests passing

Action Plan

  • ✅ Analyze current state
  • ✅ Execute rebase
  • ✅ Generate rebase report
  • ✅ Generate stakeholder review document
  • ⬜️ Stakeholder meeting
  • ⬜️ CI review
  • ⬜️ Peer code review
  • ⬜️ OpenShift release notes

Commands Executed

VERSION=v1.14.7
git checkout -b [NE-2790](https://redhat.atlassian.net/browse/NE-2790)-rebase-coredns-v1.14.4 ${VERSION}   # branch name kept from earlier attempt
git merge --no-ff --strategy=ours upstream/main
# Cherry-picked carries: OWNERS, dependabot, vendor-tracking, make-test
# TLS-defaults carry skipped — already upstream in v1.14.7 (#8227 / bc4343b08)
git cherry-pick 62c0e7e7b  # Go 1.26 alignment (go.mod -> 1.26.6, 3 vet fixes)
# Reapplied ocp_dnsnameresolver plugin (01fb3d1, k8s v0.36.2)
go generate coredns.go
go mod tidy && GOFLAGS=-mod=vendor go mod vendor
CGO_ENABLED=0 go build -o coredns
GOFLAGS=-mod=vendor go test -count=1 ./...

Carries Applied (7)

  • UPSTREAM: : openshift: Update OWNERS
  • UPSTREAM: : openshift: Disable dependabot
  • UPSTREAM: : openshift: Track vendor directory in git
  • UPSTREAM: : openshift: Add make test target and set GOTOOLCHAIN=local
  • UPSTREAM: : openshift: Align Go version files to 1.26 builder images (go.mod → 1.26.6, matching v1.14.7's own .go-version)
  • UPSTREAM: : openshift: add ocp_dnsnameresolver plugin (01fb3d1, k8s v0.36.2)
  • UPSTREAM: : openshift: update vendor

Dropped (1)

High Priority Review Items

  • ⚠️ Go 1.26.6 minimum: CI/build images must support Go ≥1.26.6 — a higher bar than the 1.26.3 the earlier v1.14.4 attempt needed. Confirm before merge.
  • ⚠️ k8s deps v0.36.2: ocp_dnsnameresolver has no v0.35.x release; Go MVS bumps k8s from v0.35.4 to v0.36.2 (unchanged from the earlier attempt).
  • ⚠️ ACL bypass fixes (autopath bypass, cached answers reaching blocked clients) landed between v1.14.4 and v1.14.7 — security-relevant, worth explicit sign-off.
  • ⚠️ plugin.cfg reorder: upstream moved tls to run just after dnssec (previously ran near proxyproto/quic) so dnssec can sign ACME challenge records first — a real change to plugin execution order.
  • ⚠️ Stricter config validation trend continues — multiple plugins reject unknown block options.

📄 Full Rebase Report | 📋 Stakeholder Review

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@aswinsuryan

Copy link
Copy Markdown
Author

@aswinsuryan since 1.14.7 is already out, what do you think about jumping a bit further? All good if you'd rather merge 1.14.4 first, then do another bum

Updated to 1.14.7, changed the PR message too, but the branch name is still in 1.14.4 as I did not figure out a way to do so without raising a new PR.

aswinsuryan added a commit to aswinsuryan/coredns that referenced this pull request Sep 9, 2026
…images

Update go.mod to match Go 1.26.6 builder images (v1.14.7 upstream
already pins .go-version to 1.26.6). Also fix %q on integer arguments
in dns64/secondary_test/test helpers, which Go 1.26 vet now flags.

Also update README.md's stated minimum Go version (1.25.0 -> 1.26.6) to
match go.mod, addressing review feedback that the two had drifted apart
(github.com/openshift/pull/197#discussion_r_davidesalerno).

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
aswinsuryan added a commit to aswinsuryan/coredns that referenced this pull request Sep 9, 2026
Carry the external `ocp_dnsnameresolver` plugin again after the rebase to v1.14.7,
based on the previous carry commit (5d15b3d):

- register the plugin ahead of `cache` inside `plugin.cfg` and regenerate
  `core/plugin/zplugin.go` + `core/dnsserver/zdirectives.go` so directives stay
  ordered the way OpenShift expects.
- keep the same module version (01fb3d1) via `go.mod`/`go.sum`; this version
  builds against k8s v0.36.2 (no v0.35.x release exists for this plugin).
  Go MVS bumps CoreDNS k8s deps from v0.35.4 to v0.36.2.
- carry forward the reapply steps in `carry_consolidation/ocp_dnsnameresolver.md`.
- align `.circleci/config.yml`'s K8S_VERSION (v1.34.0 -> v1.36.2) with the
  bumped client-go v0.36.2, addressing review feedback that the two had
  drifted apart (github.com/openshift/pull/197#discussion_r_davidesalerno).

Co-authored-by: Arkadeep Sen <arsen@redhat.com>
Co-authored-by: Ryan Fredette <rfredette@redhat.com>
Co-authored-by: Grant Spence <gspence@redhat.com>
Co-authored-by: Brett Tofel <btofel@redhat.com>

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
@aswinsuryan
aswinsuryan force-pushed the NE-2790-rebase-coredns-v1.14.4 branch from 3798450 to b128aec Compare September 9, 2026 21:42
Reapply the ART-managed build-root-image and product-build-pipeline carries
after the rebase to v1.14.7. The `-s ours` merge helper keeps the upstream
CoreDNS tag's tree, which drops these two OpenShift-only files on every
rebase since they don't exist in any upstream CoreDNS tag; they have to be
reapplied from upstream/main each time.

`.ci-operator.yaml` history: a80f04a, b160188, b648be1 (2021).
`Dockerfile.ocp` history: 66a7aad, e711a73, b7ffb21, a262020 and
later carries (2021), most recently bumped by the ART automation commits
(c3b27d5, ae72998) that this rebase already classified as "already
upstream/skip, ART bot will resubmit" — those commits update version tags
in both files together but don't establish them, so skipping them without
also reapplying the files themselves as carries dropped both files from this
rebase.

Missing `.ci-operator.yaml` caused ci/prow/verify-deps to fail with "failed
to read .ci-operator.yaml file". Missing `Dockerfile.ocp` caused
ci/prow/images to fail with "open /tmp/build/inputs/Dockerfile.ocp: no such
file or directory", once `.ci-operator.yaml` was reapplied. Both failed on
this rebase and on the original v1.14.4 attempt (openshift#197).

Pulled both files' current values from upstream/main:

  .ci-operator.yaml:
    build_root_image:
      name: release
      namespace: openshift
      tag: rhel-9-release-golang-1.26-openshift-5.0

  Dockerfile.ocp:
    builder: registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.26-openshift-5.0
    base:    registry.ci.openshift.org/ocp/5.0:base-rhel9

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
aswinsuryan added a commit to aswinsuryan/coredns that referenced this pull request Sep 9, 2026
…images

Update go.mod to match Go 1.26.6 builder images (v1.14.7 upstream
already pins .go-version to 1.26.6). Also fix %q on integer arguments
in dns64/secondary_test/test helpers, which Go 1.26 vet now flags.

Also update README.md's stated minimum Go version (1.25.0 -> 1.26.6) to
match go.mod, addressing review feedback that the two had drifted apart
(github.com/openshift/pull/197#discussion_r_davidesalerno).

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
aswinsuryan added a commit to aswinsuryan/coredns that referenced this pull request Sep 9, 2026
Carry the external `ocp_dnsnameresolver` plugin again after the rebase to v1.14.7,
based on the previous carry commit (5d15b3d):

- register the plugin ahead of `cache` inside `plugin.cfg` and regenerate
  `core/plugin/zplugin.go` + `core/dnsserver/zdirectives.go` so directives stay
  ordered the way OpenShift expects.
- keep the same module version (01fb3d1) via `go.mod`/`go.sum`; this version
  builds against k8s v0.36.2 (no v0.35.x release exists for this plugin).
  Go MVS bumps CoreDNS k8s deps from v0.35.4 to v0.36.2.
- carry forward the reapply steps in `carry_consolidation/ocp_dnsnameresolver.md`.
- align `.circleci/config.yml`'s K8S_VERSION (v1.34.0 -> v1.36.2) with the
  bumped client-go v0.36.2, addressing review feedback that the two had
  drifted apart (github.com/openshift/pull/197#discussion_r_davidesalerno).

Co-authored-by: Arkadeep Sen <arsen@redhat.com>
Co-authored-by: Ryan Fredette <rfredette@redhat.com>
Co-authored-by: Grant Spence <gspence@redhat.com>
Co-authored-by: Brett Tofel <btofel@redhat.com>

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
@aswinsuryan
aswinsuryan force-pushed the NE-2790-rebase-coredns-v1.14.4 branch from b128aec to c11b0b4 Compare September 9, 2026 22:03
@openshift-ci

openshift-ci Bot commented Sep 9, 2026

Copy link
Copy Markdown

@aswinsuryan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-ovn 83cfbcd link true /test e2e-aws-ovn
ci/prow/e2e-gcp-serial-2of2 83cfbcd link true /test e2e-gcp-serial-2of2
ci/prow/e2e-aws-ovn-upgrade 83cfbcd link true /test e2e-aws-ovn-upgrade
ci/prow/e2e-gcp-serial-1of2 83cfbcd link true /test e2e-gcp-serial-1of2

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Remove `vendor/` from `.gitignore` so the vendor tree can be committed for
ci-operator's `-mod=vendor` builds.

Anchor `coredns`, `build/`, and `release/` to the repo root (`/coredns`,
`/build/`, `/release/`). Unanchored, `coredns` matches any path segment
named `coredns` at any depth — including `vendor/github.com/coredns/caddy`,
a required, non-indirect dependency. This silently excluded that entire
vendored package from every "update vendor" carry in this fork's history
(confirmed missing as far back as the pre-rebase `main`), which is exactly
why `go build -mod=vendor` fails with "cannot find module providing package
github.com/coredns/caddy/...", `ci/prow/unit` fails
(`test [setup failed]`), and `ci/prow/verify-deps` fails (vendor tree
doesn't match go.mod/go.sum). `build/`/`release/` don't currently collide
with any vendored path, but are anchored defensively for the same reason.

Also delete `.dockerignore` (`*` / `!coredns`). Upstream ships this file
assuming a two-step build (binary built separately, then packaged via the
root `Dockerfile`'s `COPY coredns /coredns`), but `Dockerfile.ocp` builds
the binary from source in-container (`COPY . .` then `go build`). With
`.dockerignore` in place, the build context excludes everything except a
path literally named `coredns`, which doesn't exist yet at that point, so
`COPY . .` copies nothing and the build fails with "go.mod file not found".
OpenShift's `upstream/main` has deleted this file since `8f57c4ffe`.

All three of the above were missing from this rebase (and from the original
v1.14.4 attempt, openshift#197 was already broken this way) because, like
`.ci-operator.yaml`/`Dockerfile.ocp`, the `-s ours` merge helper keeps
whatever the upstream tag ships and there's no carry commit since v1.13.1
to reapply the fixes.

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
…N=local

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
…images

Update go.mod to match Go 1.26.6 builder images (v1.14.7 upstream
already pins .go-version to 1.26.6). Also fix %q on integer arguments
in dns64/secondary_test/test helpers, which Go 1.26 vet now flags.

Also update README.md's stated minimum Go version (1.25.0 -> 1.26.6) to
match go.mod, addressing review feedback that the two had drifted apart
(github.com/openshift/pull/197#discussion_r_davidesalerno).

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Carry the external `ocp_dnsnameresolver` plugin again after the rebase to v1.14.7,
based on the previous carry commit (5d15b3d):

- register the plugin ahead of `cache` inside `plugin.cfg` and regenerate
  `core/plugin/zplugin.go` + `core/dnsserver/zdirectives.go` so directives stay
  ordered the way OpenShift expects.
- keep the same module version (01fb3d1) via `go.mod`/`go.sum`; this version
  builds against k8s v0.36.2 (no v0.35.x release exists for this plugin).
  Go MVS bumps CoreDNS k8s deps from v0.35.4 to v0.36.2.
- carry forward the reapply steps in `carry_consolidation/ocp_dnsnameresolver.md`.
- align `.circleci/config.yml`'s K8S_VERSION (v1.34.0 -> v1.36.2) with the
  bumped client-go v0.36.2, addressing review feedback that the two had
  drifted apart (github.com/openshift/pull/197#discussion_r_davidesalerno).

Co-authored-by: Arkadeep Sen <arsen@redhat.com>
Co-authored-by: Ryan Fredette <rfredette@redhat.com>
Co-authored-by: Grant Spence <gspence@redhat.com>
Co-authored-by: Brett Tofel <btofel@redhat.com>

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
Regenerate the vendor tree for the v1.14.7 rebase via
`GOFLAGS=-mod=vendor go mod vendor`, picking up the ocp_dnsnameresolver
plugin and the resulting Go MVS dependency bumps.

Also picks up `vendor/github.com/coredns/caddy` (22 files), a required,
non-indirect dependency that has been silently excluded from every prior
"update vendor" carry by an unanchored `.gitignore` pattern (see the
"Track vendor directory in git" carry, which anchors it).

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
…tion

Signed-off-by: Aswin Suryanarayanan <asuryana@redhat.com>
@aswinsuryan
aswinsuryan force-pushed the NE-2790-rebase-coredns-v1.14.4 branch from c11b0b4 to 13d1325 Compare September 10, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.