-
Notifications
You must be signed in to change notification settings - Fork 257
feat: CNS generates chained cni conflist with cilium #4082
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
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 adds support for generating chained CNI conflist files with Cilium, enabling AzureCNI to handle interfaces, routing, ADD and DELETE operations while Cilium manages CNP, CEP, and eBPF programs on top.
Key changes:
- Introduces new
azurecni-chained-cilium
scenario for CNS conflist generation - Adds AzureCNIChainedCiliumGenerator implementation with corresponding tests
- Provides integration test manifests and documentation for Swift v2 + Cilium setup
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
cns/service/main.go | Adds new scenario constant and case handling for azurecni-chained-cilium |
cns/cniconflist/generator.go | Defines AzureCNIChainedCiliumGenerator struct and Close method |
cns/cniconflist/generator_linux.go | Implements Generate method for creating chained CNI conflist |
cns/cniconflist/generator_windows.go | Adds Windows stub implementation returning not implemented error |
cns/cniconflist/generator_linux_test.go | Adds unit test for the new generator |
cns/cniconflist/testdata/fixtures/azure-chained-cilium.conflist | Test fixture for expected conflist output |
test/integration/manifests/cnsconfig/azclichainedciliumconfigmap.yaml | CNS configuration for chained Cilium setup |
test/integration/manifests/cilium/v1.17/cilium-config/cilium-chained-config.yaml | Cilium configuration for chained mode |
test/integration/manifests/cilium/netpol/default-allow.yaml | Sample Cilium network policy for testing |
test/integration/manifests/swiftv2/mt-deploy.yaml | Test deployment manifest |
docs/feature/swift-v2/setup-guide.md | Setup guide for Swift v2 with Cilium |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
whenUnsatisfiable: ScheduleAnyway | ||
labelSelector: | ||
matchLabels: | ||
app: containe |
Copilot
AI
Oct 15, 2025
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.
Label selector value 'containe' appears to be truncated - should be 'container' to match the app label.
app: containe | |
app: container |
Copilot uses AI. Check for mistakes.
7b36558
to
b35bbaf
Compare
19536fb
to
1ff50ed
Compare
1ff50ed
to
93d32ac
Compare
Reason for Change:
Adds chained cni conflist to conflist generator.
Intent is for AzureCNI to handle interfaces, routing, ADD and Delete, while Cilium adds CNP, CEP, and eBPF programs on top of interfaces.
Issue Fixed:
Requirements:
Notes: