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
Fix a bug where cilium host IP is not read from k8s node annotations #27590
Conversation
cc @christarazi / @aanm |
I think this sound reasonable to me. I am a bit surprised that's not the case today actually. |
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.
Nice find!
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.
Nice catch! Thank you
/test |
After cilium@0696874 refactored the logic to read annotations and change the default behavior, addrs array was never assigned to newNode.IPAddresses after it was populated. Signed-off-by: Hemanth Malla <hemanth.malla@datadoghq.com>
d468bfa
to
7826222
Compare
/test |
After 0696874 refactored the logic to read annotations and change the default behavior, addrs array was never assigned to newNode.IPAddresses after it was populated.
Fixes: #27439 partly, there seem to be a race between when
n.localNode.IPAddresses
is populated and when the first ciliumnode(CN) update is made after an agent restart. In our fork we temporarily added a behavior to retain host IP from ciliumnode when localNode hasn't yet been populated to avoid the double writes. This isn't perfect because in the rare event wherecilium_host
's router IP has been removed, it would not be updated on the CN.Open Questions :
Thanks to @jaredledvina for identifying the duplicate writes