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
daemon, node: Remove old, discarded router IPs from cilium_host
#17762
daemon, node: Remove old, discarded router IPs from cilium_host
#17762
Conversation
df6934c
to
9bc9466
Compare
/test |
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.
I think this will do the right thing in the common circumstances, although I would like to know that the log messages will include all possibly-relevant information in them (I found this a little hard to tell at face value).
Most of the discussion below is just looking over this code with fresh eyes and I found it a bit confusing for the case where the overall IP allocation CIDR range changes. Maybe we're not so worried about that case, but it looks like it could cause some hiccups if anyone did change the CIDR.
9bc9466
to
9b741e1
Compare
9b741e1
to
db54bba
Compare
db54bba
to
abd35cf
Compare
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.
LGTM, thanks.
/test |
a9c54b3
to
587f4c1
Compare
/test |
|
/test-gke |
/test-1.16-netnext |
/test-1.22-4.19 Job 'Cilium-PR-K8s-GKE' hit: #17353 (88.79% similarity) Job 'Cilium-PR-K8s-GKE' failed and has not been observed before, so may be related to your PR: Click to show.Test Name
Failure Output
If it is a flake, comment |
No, the stack trace is closer to the one in #17545. /test-gke |
@christarazi Hi chris, I found another problem when remove old, discard router IPs from cilium_host. In my scenario #20879, restoredIP is nil, thus leading family to IPv6. However old router IP is IPv4, we could not list IPv4 address, thus old router IPs are not removed. Maybe we should re-consider the AddrList logic?
|
In the previous commit (referenced below), we forgot to remove the old
router IPs from the actual interface (
cilium_host
). This causedconnectivity issues in user environments where the discarded, stale IPs
were reassigned to pods, causing the ipcache entries for those IPs to
have
remote-node
identity.To fix this, we remove all IPs from the
cilium_host
interface thatweren't restored during the router IP restoration process. This step
correctly finalizes the restoration process for router IPs.
Fixes: ff63b07 ("daemon, node: Fix faulty router IP restoration
logic")
Signed-off-by: Chris Tarazi chris@isovalent.com