Skip to content

Add L7 policy traffic disruption tests#42150

Merged
squeed merged 2 commits intomainfrom
pr/fristonio/ci/l7-traffic-disruption
Dec 10, 2025
Merged

Add L7 policy traffic disruption tests#42150
squeed merged 2 commits intomainfrom
pr/fristonio/ci/l7-traffic-disruption

Conversation

@fristonio
Copy link
Copy Markdown
Member

@fristonio fristonio commented Oct 13, 2025

Dependency: cilium/test-connection-disruption#16

This PR adds a new flag to cilium-cli to run L7 traffic disruption tests as part of upgrade tests that validate connections are not interrupted. Currently it covers HTTP traffic with a L7 policy.
The check can be enabled with --include-conn-disrupt-test-l7-traffic flag.

Currently cilium-envoy restarts are not hitless, so this check fails for full cilium upgrade(which includes a proxy restart). This PR updates the ci-e2e-upgrade workflow to add steps for running conn-disrupt-test during cilium-agent restart. We expect L7 policy and traffic to not be impacted during just cilium-agent restart.

@fristonio fristonio added release-note/ci This PR makes changes to the CI. cilium-cli This PR contains changes related with cilium-cli labels Oct 13, 2025
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch 2 times, most recently from bc768db to 0a1fbe0 Compare October 15, 2025 15:52
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from 0a1fbe0 to 7b76082 Compare October 15, 2025 17:04
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from 7b76082 to cffd930 Compare October 20, 2025 17:23
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from cffd930 to 3aa0efb Compare October 21, 2025 19:10
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

1 similar comment
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from 7a202ef to a19dce4 Compare October 29, 2025 17:10
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from a19dce4 to b9ffbdb Compare October 29, 2025 18:23
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@github-actions
Copy link
Copy Markdown

This pull request has been automatically marked as stale because it
has not had recent activity. It will be closed if no further activity
occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale. label Nov 29, 2025
@fristonio fristonio removed the stale The stale bot thinks this issue is old. Add "pinned" label to prevent this from becoming stale. label Dec 1, 2025
@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch 3 times, most recently from 53f5f4e to 7388cb6 Compare December 8, 2025 03:02
@fristonio
Copy link
Copy Markdown
Member Author

/ci-e2e-upgrade

@fristonio
Copy link
Copy Markdown
Member Author

/test

@fristonio fristonio marked this pull request as ready for review December 8, 2025 20:57
@fristonio fristonio requested review from a team as code owners December 8, 2025 20:57
@fristonio fristonio requested a review from a team as a code owner December 8, 2025 20:57
This commit adds a new flag to cilium-cli to run L7 traffic disruption
tests. The check is added as part of existing connection disruption
check and can be enabled(disabled by default) using
`--include-conn-disrupt-test-l7-traffic` flag.

The check is enabled only when envoy runs as external deployment and L7
proxy is enabled. The check creates a CNP with L7 http policy on server
pods. Clients connect to these server pods and continuously make http
requests exiting in case of failure. Following paths are verified:

* Server Endpoint IPv4
* Server Endpoint IPv6
* Server k8s service DNS

Signed-off-by: Deepesh Pathak <[email protected]>
This commit extends e2e upgrade workflow to add a step valdiating
connection and L7 policy traffic disruption on cilium-agent restart.

Signed-off-by: Deepesh Pathak <[email protected]>
@fristonio fristonio force-pushed the pr/fristonio/ci/l7-traffic-disruption branch from 7388cb6 to fa0dd37 Compare December 9, 2025 01:09
@fristonio
Copy link
Copy Markdown
Member Author

/test

Copy link
Copy Markdown
Contributor

@smagnani96 smagnani96 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes LGTM, thanks!
Just left a comment to address my lack of knowledge and make sure I'm aligned.

@squeed squeed added this pull request to the merge queue Dec 10, 2025
Merged via the queue into main with commit db03f5d Dec 10, 2025
381 of 388 checks passed
@squeed squeed deleted the pr/fristonio/ci/l7-traffic-disruption branch December 10, 2025 15:55
@odinuge
Copy link
Copy Markdown
Member

odinuge commented Dec 11, 2025

fysa this required all other PRs to be rebased to pass the tests. Would be great if next time this could be introduced in a way that didn't require all PRs to be rebased to pass tests. Hit it in #43237. Breaking 1-2-3-4 week old branches feels fine, but if these happen often, its very painful to get things into a mergable state. 😄

@fristonio
Copy link
Copy Markdown
Member Author

Thanks for the input @odinuge. I didn't realize that.
But yeah, seems like this would happen every time a cilium cli change is made along with a workflow that consumes that change. For PRs from forks, we pick the workflow definition from stable branch(eg. main-ce) but cilium-cli is from the build of PR HEAD.
I guess we should always first merge cilium-cli change and only later update the workflow that consume that change. I will bring this up in the next community meeting to discuss.

fristonio added a commit to fristonio/cilium that referenced this pull request Jan 15, 2026
This commit disables workflow errors for flaky l7 connection disruption
tests during agent restarts, introduced as part of cilium#42150

Signed-off-by: Deepesh Pathak <[email protected]>
fristonio added a commit that referenced this pull request Jan 21, 2026
This commit disables workflow errors for flaky l7 connection disruption
tests during agent restarts, introduced as part of #42150

Signed-off-by: Deepesh Pathak <[email protected]>
github-merge-queue bot pushed a commit that referenced this pull request Jan 29, 2026
This commit disables workflow errors for flaky l7 connection disruption
tests during agent restarts, introduced as part of #42150

Signed-off-by: Deepesh Pathak <[email protected]>
mhofstetter pushed a commit that referenced this pull request Jan 29, 2026
[ upstream commit 53c671e ]

This commit disables workflow errors for flaky l7 connection disruption
tests during agent restarts, introduced as part of #42150

Signed-off-by: Deepesh Pathak <[email protected]>
Signed-off-by: Marco Hofstetter <[email protected]>
ajmmm pushed a commit to ajmmm/cilium that referenced this pull request Jan 30, 2026
[ upstream commit 53c671e ]

This commit disables workflow errors for flaky l7 connection disruption
tests during agent restarts, introduced as part of cilium#42150

Signed-off-by: Deepesh Pathak <[email protected]>
Signed-off-by: Marco Hofstetter <[email protected]>
zocimek pushed a commit to zocimek/home-ops that referenced this pull request Feb 1, 2026
…0 ) (#584)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[aqua:cilium/cilium-cli](https://redirect.github.com/cilium/cilium-cli)
| minor | `0.18.9` → `0.19.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>cilium/cilium-cli (aqua:cilium/cilium-cli)</summary>

###
[`v0.19.0`](https://redirect.github.com/cilium/cilium-cli/releases/tag/v0.19.0)

[Compare
Source](https://redirect.github.com/cilium/cilium-cli/compare/v0.18.9...v0.19.0)

## Summary of Changes

**CI Changes:**

- Add L7 policy traffic disruption tests
([cilium/cilium#42150](https://redirect.github.com/cilium/cilium/issues/42150),
[@&#8203;fristonio](https://redirect.github.com/fristonio))
- Cilium-cli SNI connectivity tests now retry expected successful
operations to recover from failures due to external upstream issues.
([cilium/cilium#42980](https://redirect.github.com/cilium/cilium/issues/42980),
[@&#8203;jrajahalme](https://redirect.github.com/jrajahalme))
- cli: connectivity: fix typo in L7 LB tests
([cilium/cilium#43610](https://redirect.github.com/cilium/cilium/issues/43610),
[@&#8203;julianwiedmann](https://redirect.github.com/julianwiedmann))
- Fix intermittent NodePort connectivity test timeouts in dual-stack
clusters by validating NodePort readiness on all node IP addresses
during test setup.
([cilium/cilium#40812](https://redirect.github.com/cilium/cilium/issues/40812),
[@&#8203;pillai-ashwin](https://redirect.github.com/pillai-ashwin))
- tests: remove identity manager from ignored error messages
([cilium/cilium#42982](https://redirect.github.com/cilium/cilium/issues/42982),
[@&#8203;odinuge](https://redirect.github.com/odinuge))

**Misc Changes:**

- chore(deps): update all-dependencies (main)
([cilium/cilium#43169](https://redirect.github.com/cilium/cilium/issues/43169),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update all-dependencies (main)
([cilium/cilium#43456](https://redirect.github.com/cilium/cilium/issues/43456),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update all-dependencies (main)
([cilium/cilium#43508](https://redirect.github.com/cilium/cilium/issues/43508),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update base-images (main)
([cilium/cilium#43457](https://redirect.github.com/cilium/cilium/issues/43457),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update base-images (main)
([cilium/cilium#43538](https://redirect.github.com/cilium/cilium/issues/43538),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update docker.io/library/golang:1.25.5 docker digest to
[`a22b2e6`](https://redirect.github.com/cilium/cilium-cli/commit/a22b2e6)
(main)
([cilium/cilium#43303](https://redirect.github.com/cilium/cilium/issues/43303),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- chore(deps): update go to v1.25.5 (main)
([cilium/cilium#43173](https://redirect.github.com/cilium/cilium/issues/43173),
[@&#8203;cilium-renovate](https://redirect.github.com/cilium-renovate)\[bot])
- cilium-cli/connectivity: remove matcher for bpf/init.sh errors
([cilium/cilium#43109](https://redirect.github.com/cilium/cilium/issues/43109),
[@&#8203;tklauser](https://redirect.github.com/tklauser))
- cilium-cli: convert net.IP to netip.Addr
([cilium/cilium#42371](https://redirect.github.com/cilium/cilium/issues/42371),
[@&#8203;phuhung273](https://redirect.github.com/phuhung273))
- cli: Update `network-perf` image ref
([cilium/cilium#43297](https://redirect.github.com/cilium/cilium/issues/43297),
[@&#8203;HadrienPatte](https://redirect.github.com/HadrienPatte))
- chore(deps): update golangci/golangci-lint-action action to v9.2.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3148](https://redirect.github.com/cilium/cilium-cli/pull/3148)
- Update stable release to v0.18.9 by
[@&#8203;michi-covalent](https://redirect.github.com/michi-covalent) in
[#&#8203;3149](https://redirect.github.com/cilium/cilium-cli/pull/3149)
- chore(deps): update golangci/golangci-lint docker tag to v2.7.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3151](https://redirect.github.com/cilium/cilium-cli/pull/3151)
- chore(deps): update go to v1.25.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3153](https://redirect.github.com/cilium/cilium-cli/pull/3153)
- ci: clean up disk space in release workflow by
[@&#8203;tklauser](https://redirect.github.com/tklauser) in
[#&#8203;3154](https://redirect.github.com/cilium/cilium-cli/pull/3154)
- chore(deps): update actions/stale action to v10.1.1 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3150](https://redirect.github.com/cilium/cilium-cli/pull/3150)
- chore(deps): update gcr.io/distroless/static:latest docker digest to
[`4b2a093`](https://redirect.github.com/cilium/cilium-cli/commit/4b2a093)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3152](https://redirect.github.com/cilium/cilium-cli/pull/3152)
- chore(deps): update golangci/golangci-lint docker tag to v2.7.2 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3155](https://redirect.github.com/cilium/cilium-cli/pull/3155)
- chore(deps): update docker.io/library/golang:1.25.5 docker digest to
[`a22b2e6`](https://redirect.github.com/cilium/cilium-cli/commit/a22b2e6)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3156](https://redirect.github.com/cilium/cilium-cli/pull/3156)
- chore(deps): update actions/upload-artifact action to v6 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3157](https://redirect.github.com/cilium/cilium-cli/pull/3157)
- chore(deps): update docker.io/library/golang:1.25.5 docker digest to
[`36b4f45`](https://redirect.github.com/cilium/cilium-cli/commit/36b4f45)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3160](https://redirect.github.com/cilium/cilium-cli/pull/3160)
- chore(deps): update dependency cilium/cilium to v1.18.5 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3159](https://redirect.github.com/cilium/cilium-cli/pull/3159)
- chore(deps): update dependency kubernetes-sigs/kind to v0.31.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3158](https://redirect.github.com/cilium/cilium-cli/pull/3158)
- chore(deps): update docker/setup-buildx-action action to v3.12.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3162](https://redirect.github.com/cilium/cilium-cli/pull/3162)
- chore(deps): update golangci/golangci-lint docker tag to v2.8.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3163](https://redirect.github.com/cilium/cilium-cli/pull/3163)
- chore(deps): update docker.io/library/golang:1.25.5 docker digest to
[`6cc2338`](https://redirect.github.com/cilium/cilium-cli/commit/6cc2338)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3164](https://redirect.github.com/cilium/cilium-cli/pull/3164)
- chore(deps): update gcr.io/distroless/static:latest docker digest to
[`cd64bec`](https://redirect.github.com/cilium/cilium-cli/commit/cd64bec)
by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3165](https://redirect.github.com/cilium/cilium-cli/pull/3165)
- chore(deps): update actions/setup-go action to v6.2.0 by
[@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in
[#&#8203;3166](https://redirect.github.com/cilium/cilium-cli/pull/3166)
- Prepare for v0.19.0 release by
[@&#8203;tklauser](https://redirect.github.com/tklauser) in
[#&#8203;3167](https://redirect.github.com/cilium/cilium-cli/pull/3167)

**Full Changelog**:
<cilium/cilium-cli@v0.18.9...v0.19.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44MS4yIiwidXBkYXRlZEluVmVyIjoiNDIuODEuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsidHlwZS9taW5vciJdfQ==-->

Co-authored-by: zocimek-renovate[bot] <134739422+zocimek-renovate[bot]@users.noreply.github.com>
@cilium-release-bot cilium-release-bot bot moved this to Released in cilium v1.19.0 Feb 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cilium-cli This PR contains changes related with cilium-cli release-note/ci This PR makes changes to the CI.

Projects

No open projects
Status: Released

Development

Successfully merging this pull request may close these issues.

6 participants