-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
aws/eni: fix cilium operator crash on IPv6 ENI #22075
aws/eni: fix cilium operator crash on IPv6 ENI #22075
Conversation
Cilium operator would crash when being brought up in an AWS region where there was a IPv6-only ENI and no subnet filters, because it would fail to parse the ENI (logs will show "ENI has no IP address" and "Initial synchronization with instances API failed"). We work around this issue for the moment by filtering the network interfaces we fetch from AWS with 'private-ip-addresses=*', which includes all ENIs with any value in the PrivateIpAddress field. This is the field `parseENI` complains about otherwise. In general, though, it seems that the ENI IPAM mode needs to learn to handle IPv6 ENIs. That will not be a small undertaking, so we fix the obvious bug for now. Co-authored-by: Sebastian Wicki <sebastian@isovalent.com> Signed-off-by: David Bimmler <david.bimmler@isovalent.com>
Should I also create a ticket for this to make it more discoverable? Also, do we want to backport this? |
I don't think we necessarily need an issue here, the PR already describes it well enough. Let's backport this to the latest stable, as it is a regular bug fix. |
/ci-eks |
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.
Good find and thanks for the fix. I'm wondering if it would also be worthwhile to update the docs to mention that Cilium only supports IPv4 ENIs.
I've added a sentence. I guess we track this in #18405, and #19251 is related. Do we link to issues in the docs, e.g. something like "work on implementing this is tracked in xyz?" |
@bimmlerd I've seen it done before, so yes. |
Yes, there is even built-in syntax for it: |
Ah yes, thanks Joe. I remember we had done it but I forgot about this incantation. |
Signed-off-by: David Bimmler <david.bimmler@isovalent.com>
7b52acb
to
5c622fe
Compare
I've filed #22217 for the ConformanceKind1.19 failure. This seems likely to be broken/flaky on master somehow. |
Cilium operator would crash when being brought up in an AWS region where there was a IPv6-only ENI and no subnet filters, because it would fail to parse the ENI (logs will show
ENI has no IP address
andInitial synchronization with instances API failed
).We work around this issue for the moment by filtering the network interfaces we fetch from AWS with
'private-ip-addresses=*'
, which includes all ENIs with any value in the PrivateIpAddress field. This is the fieldparseENI
complains about otherwise.In general, though, it seems that the ENI IPAM mode needs to learn to handle IPv6 ENIs. There are unsolved challenges (such as representing the IP pool as a list of addresses, which will not work for IPv6), however, which cannot be addressed quickly, so we work around it for now.
cc @gandro @chanieljdan @bmcustodio