-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Adding support for AWS ENI prefix delegation - IPv4 Only #18463
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
Conversation
2ec8e60
to
81abb2a
Compare
Hi @hemanthmalla, can I assist in anyway with this PR? |
Hi @dzoeteman, I'm waiting on ENI e2e changes from #18557 to update this PR with e2e tests for prefix delegation. |
9ddf219
to
3764354
Compare
Removed e2e tests and marking as ready for review. Will follow up with another PR for e2e tests once the ENI e2e PR is merged. |
/test-1.23-net-next Job 'Cilium-PR-K8s-1.23-kernel-net-next' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment |
Same issue occurred :/ I'd like to understand where it comes from before we merge this PR. |
Signed-off-by: Hemanth Malla <hemanth.malla@datadoghq.com>
AWS recently introduced support to assign IP prefixes to ENIs on nitro instances.Adding support for this feature will allow for running roughly 16x pods. This commit adds necessary changes to the operator to allocate IPv4 prefixes and update the cilium node CRD with corresponding IPs from those prefixes. Fixes: cilium#16987 Signed-off-by: Hemanth Malla <hemanth.malla@datadoghq.com>
Signed-off-by: Hemanth Malla <hemanth.malla@datadoghq.com>
e907778
to
9d0f8b3
Compare
/test Job 'Cilium-PR-K8s-GKE' failed: Click to show.Test Name
Failure Output
If it is a flake and a GitHub issue doesn't already exist to track it, comment |
Ah, thanks, I was looking for something like this 👍
Yes agreed, I was a bit reluctant to merge because of the recurring issue, but it's true it's unlikely from your code change. I see you're rebased already, let's give it another try [oh but Sebastian was faster than me!]. Thanks! |
|
/test-gke |
Yup, it was successful before, so I triggered re-run just to verify other changes from master branch (as jenkins is running with merge commit). |
PR cilium#18463 changed the signature of the CreateNetworkInterface and NewNodeManager methods. This change was merged last week. PR cilium#19096 added a unit test in TestNodeManagerENIExcludeInterfaceTags which calls those methods with the old signature. Because the latter PR was not rebased after a merge, we accidentally merged a non-compilable unit test into master, even though CI was green (as CI was run before the signature was changed). Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
PR #18463 changed the signature of the CreateNetworkInterface and NewNodeManager methods. This change was merged last week. PR #19096 added a unit test in TestNodeManagerENIExcludeInterfaceTags which calls those methods with the old signature. Because the latter PR was not rebased after a merge, we accidentally merged a non-compilable unit test into master, even though CI was green (as CI was run before the signature was changed). Signed-off-by: Sebastian Wicki <sebastian@isovalent.com>
AWS introduced support for assigning prefixes to EC2 network interfaces - prefix delegation (pd) . Some of the benefits of using PD are:
With
aws-enable-prefix-delegation
flag enabled operator can now allocate /28 prefixes to resolve deficit on nodes. Once allocated, operator will update the cilium node object with the corresponding 16 IPs. Agent will use these IPs just like private secondary IPs.Refer to the RFC for additional details discussing the the design and key decisions.
Fixes: #16987
This PR needs changes from #18557 for running the e2e test.
Limitations :
Non goals :
aws-excess-ip-release
is enabledTodo :