-
Notifications
You must be signed in to change notification settings - Fork 263
ci: update cilium version to 1.17 and decouple from pipeline vars #4203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
now also uses cilium version/directory managed by the makefile-- ignores the pipeline var note: does cilium-overlay/cilium-overlay-e2e-step-template.yaml use testHubble at all? same with cilium-overlay/cilium-overlay-e2e.steps.yaml
|
/azp run Azure Container Networking PR |
|
Azure Pipelines successfully started running 1 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the Cilium version management in the CI pipeline from 1.14 to 1.17 and decouples version control from pipeline variables to repository state. Previously, Cilium versions were controlled through pipeline variables that affected all release branches, which prevented independent version management per branch. The solution moves version control to the Makefile, allowing each release branch to specify its own compatible Cilium version.
Changes:
- Updated Makefile to define Cilium 1.17 as the default version and added print targets for debugging
- Modified all pipeline YAML files to unset environment variables (DIR, CILIUM_VERSION_TAG) and rely on Makefile defaults
- Removed version-based conditional checks that skipped eBPF host routing tests for Cilium versions below 1.17
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| hack/aks/deploy.mk | Added CILIUM_NIGHTLY_VERSION_TAG variable, print targets for debugging variables, and integrated print targets into deployment workflows |
| .pipelines/singletenancy/cilium/cilium-e2e.steps.yaml | Unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/singletenancy/cilium/cilium-e2e-step-template.yaml | Unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e.steps.yaml | Unset DIR and CILIUM_VERSION_TAG for both nightly and regular deployments, and updated Hubble deployment to use Makefile target |
| .pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e-step-template.yaml | Unset DIR and CILIUM_VERSION_TAG for deployments and updated Hubble deployment to use Makefile target |
| .pipelines/singletenancy/cilium-overlay-withhubble/cilium-overlay-e2e.steps.yaml | Unset DIR and CILIUM_VERSION_TAG for Hubble deployments |
| .pipelines/singletenancy/cilium-overlay-withhubble/cilium-overlay-e2e-step-template.yaml | Unset DIR and CILIUM_VERSION_TAG for Hubble deployments |
| .pipelines/singletenancy/cilium-overlay-ebpf/cilium-overlay-e2e-step-template.yaml | Updated comment to clarify Makefile manages eBPF Cilium version |
| .pipelines/singletenancy/cilium-overlay-ebpf/cilium-overlay-e2e-job-template.yaml | Removed conditional checks that skipped eBPF tests for Cilium versions below 1.17 |
| .pipelines/singletenancy/cilium-nodesubnet/cilium-nodesubnet-e2e.steps.yaml | Unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/singletenancy/cilium-nodesubnet/cilium-nodesubnet-e2e-step-template.yaml | Unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/singletenancy/cilium-ebpf/cilium-e2e-step-template.yaml | Removed version compatibility checks and variable exports, relying on Makefile for eBPF Cilium version |
| .pipelines/singletenancy/cilium-ebpf/cilium-e2e-job-template.yaml | Removed conditional checks that skipped eBPF tests for Cilium versions below 1.17 |
| .pipelines/singletenancy/cilium-dualstack-overlay/cilium-dualstackoverlay-e2e.steps.yaml | Removed CILIUM_DUALSTACK_VERSION references and unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/singletenancy/cilium-dualstack-overlay/cilium-dualstackoverlay-e2e-step-template.yaml | Removed CILIUM_DUALSTACK_VERSION references and unset DIR and CILIUM_VERSION_TAG to let Makefile control versions |
| .pipelines/cni/cilium/cilium-scale-test.yaml | Unset DIR and CILIUM_VERSION_TAG for both dualstack and regular deployments |
| .pipelines/cni/cilium/cilium-overlay-load-test-template.yaml | Unset DIR and CILIUM_VERSION_TAG for all deployment paths (dualstack, hubble, and regular) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
.pipelines/singletenancy/cilium-overlay/cilium-overlay-e2e-step-template.yaml
Show resolved
Hide resolved
nightly cases should not use the DIR variable at all so we don't unset it
|
/azp run Azure Container Networking PR |
|
Azure Pipelines successfully started running 1 pipeline(s). |
camrynl
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
discussed offline how this will impact test image usage, going forward will need to create a temp branch with tag updated in makefile
Reason for Change:
The pipeline currently runs cilium 1.14 during testing. This is inaccurate, as our e2e cluster k8s version is 1.33, which should use cilium 1.17. The cilium version is currently controlled by a pipeline variable set to 1.14. However, we cannot just change it to 1.17 because the pipeline variable affects ALL runs of the pipeline for all release branches, including release/v1.6, release/v1.5 etc. which still need to be run with cilium 1.14. The solution is to control the cilium version from the state of the repo/code, rather than through a pipeline variable. To do this, we unset the pipeline variable and use the makefile to set the default cilium version. This is similar to how we set the default k8s version to 1.33 on this release branch, but on other release branches the makefile sets it to an earlier k8s version. Thus, going forward, each release branch can have its own compatible cilium version.
Issue Fixed:
Runs the tests against 1.17 and re-enables ebpf host routing tests since they should now always run since the cilium version is 1.17+
Requirements:
Notes:
Does not affect ebpf host routing deployment or targets
.pipelines/cni/cilium/cilium-overlay-load-test-template.yaml put through a diff checker-- most of the delta is from CRLF -> LF
Check these runs:
ACN PR: https://msazure.visualstudio.com/One/_build/results?buildId=150406014&view=results
ACN PR 2: https://msazure.visualstudio.com/One/_build/results?buildId=150280427&view=results
CNI Release: https://msazure.visualstudio.com/One/_build/results?buildId=150285649&view=results
ACN Test Unofficial: https://dev.azure.com/msazure/One/_build/results?buildId=150406265&view=results
Nightly: https://msazure.visualstudio.com/One/_build/results?buildId=150456849&view=results