Sitelet https://github.com/kubernetes/kops/pull/18509
Skip to content

tests/e2e: refine externalTrafficPolicy=Local and hostNetwork skips - #18509

Merged
kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
rifelpet:skip-regex-etp-local-cilium
Jun 26, 2026
Merged

kubernetes-prow[bot] merged 1 commit into
kubernetes:masterfrom
rifelpet:skip-regex-etp-local-cilium

Conversation

@rifelpet

@rifelpet rifelpet commented Jun 25, 2026 •

Copy link
Copy Markdown
Member

Identified this opportunity for cleanup as a part of kubernetes/test-infra#37337

What

Two corrections to the kubetest2-tester-kops auto skip-regex, plus comment cleanup, based on triage of the (now-removed) e2e-kops-aws-hostname-bug121018 job.

1. externalTrafficPolicy=Local source-IP tests are Cilium-only

Services should implement NodePort and HealthCheckNodePort correctly when ExternalTrafficPolicy changes was skipped for all CNIs on k8s < 1.38, but it only fails on Cilium — the client source IP is SNATed to a pod IP instead of being preserved (failed every build in the retention window). This is the same root cause as its sibling Services should support externalTrafficPolicy=Local for type=NodePort, which is already Cilium-gated.

Moved it into the networking.Cilium != nil block next to the sibling so kubenet / kube-router / calico / amazonvpc clusters run the test again. Both now reference the canonical upstream tracker cilium/cilium#37613 (which Cilium's own CI cites to skip the entire externalTrafficPolicy family).

2. hostNetwork test was fixed in k8s 1.37

Services should function for service endpoints using hostNetwork was fixed upstream by kubernetes/kubernetes#139819 (milestone v1.37) — it now reads spec.nodeName via the Downward API instead of os.Hostname(). Dropped its skip gate from < 1.38 to < 1.37 so 1.37+ runs it.

3. Comment cleanup

Removed stale/incorrect issue references: the wrong Azure CSI link (was pointing at an unrelated kops reconcile issue), the superseded hostname WIP PR #126896, and the unrelated/closed #129221 (a HealthCheckNodePort port-allocation flake, not the current source-IP failure).

Behavior changes

  • Non-Cilium clusters on k8s < 1.38 will now run implement NodePort and HealthCheckNodePort (assumed Cilium-specific; if it fails on another CNI we re-broaden).
  • All distros on k8s 1.37 will now run function for service endpoints using hostNetwork, relying on #139819.

The externalTrafficPolicy=Local source-IP-preservation tests only fail on
Cilium (the client IP is SNATed to a pod IP instead of being preserved),
tracked upstream in cilium/cilium#37613. Move the "implement NodePort and
HealthCheckNodePort correctly when ExternalTrafficPolicy changes" skip into
the Cilium block next to its sibling so other CNIs run the test.

The hostNetwork "function for service endpoints" test was fixed in k8s 1.37
by kubernetes/kubernetes#139819 (it now reads spec.nodeName via the Downward
API instead of os.Hostname()), so drop its skip gate from < 1.38 to < 1.37.

Also clean up stale/incorrect issue references in the surrounding comments
(wrong Azure issue, superseded hostname WIP PR, and the unrelated #129221).
@kubernetes-prow

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubernetes-prow kubernetes-prow Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 25, 2026
@kubernetes-prow
kubernetes-prow Bot requested review from olemarkus and zetaab June 25, 2026 23:55
@kubernetes-prow kubernetes-prow Bot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jun 25, 2026
@rifelpet

Copy link
Copy Markdown
Member Author

/test pull-kops-e2e-k8s-ci
/test pull-kops-e2e-k8s-aws-amazonvpc
/test pull-kops-e2e-k8s-gce-ipalias
/test pull-kops-e2e-k8s-aws-calico

@rifelpet
rifelpet marked this pull request as ready for review June 26, 2026 01:24
@kubernetes-prow kubernetes-prow Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 26, 2026
@rifelpet

Copy link
Copy Markdown
Member Author

/test pull-kops-e2e-k8s-gce-cilium

@kubernetes-prow kubernetes-prow Bot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 26, 2026
@kubernetes-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hakman

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 the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 26, 2026
@kubernetes-prow
kubernetes-prow Bot merged commit b4ac9fc into kubernetes:master Jun 26, 2026
28 checks passed
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/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants