-
Notifications
You must be signed in to change notification settings - Fork 3.4k
Remove tunnel map #38839
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
Remove tunnel map #38839
Conversation
2ad52f9
to
df0e61d
Compare
/test |
df0e61d
to
890d2a0
Compare
890d2a0
to
cd1c68f
Compare
/test |
2b6a659
to
99f07fd
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.
@pippolo84 Nice work!
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.
Finally!
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 work 👍
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.
Loader changes LGTM, thanks Fabio!
Since pod CIDRs are now upserted into ipcache map, tunnel map is going to be removed in a subsequent commit. Therefore, remove the related cilium-dbg commands. Moreover, fix the documentation removing and add redirects to the `cilium-dbg bpf ipcache` commands. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
Tunnel map will not be created anymore at startup, so no need to remove it anymore after uninstall. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
As tunnel map has been deprecated in favor of the ipcache map. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
After deprecation of tunnel map in favor of the ipcache map, there is no need to collect the map content when running bugtool. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
Remove any tunnel map related code from both controlplane and datapath, leaving only what is needed to unpin the map at startup. This is needed to take care of tunnel map removal when upgrading Cilium from a previous minor release. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
Tunnel map has been deprecated in favor of the ipcache map. When upgrading from a previous Cilium minor release, we want to ensure that the tunnel map from the previous version is unpinned at startup, no matter if we are now running in tunnel or native routing mode. Doing that ensures that it is eventually removed after endpoints regeneration. Signed-off-by: Fabio Falzoi <fabio.falzoi@isovalent.com>
99f07fd
to
2e61fb9
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.
Approving for @cilium/docs-structure
ci-e2e-upgrade is hitting #38989, rerunning |
err := tunnel.TunnelMap().Unpin() | ||
if err != nil && !errors.Is(err, fs.ErrNotExist) { | ||
return fmt.Errorf("removing tunnel map: %w", err) |
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.
👋 @pippolo84 for my own education - did you opt against using UnpinIfExists()
here for a specific reason?
#38483 moved the insertions of Pod CIDRs from tunnel map to ipcache map. Therefore, tunnel map is not needed anymore and can be (almost entirely) removed.
In order to keep Cilium upgrade operations working correctly, we preserve the unpinning of the map at startup in the current version. Regarding downgrades, nothing more is needed, since tunnel map is recreated at startup in Cilium v1.17:
cilium/daemon/cmd/datapath.go
Lines 162 to 165 in b470512
Note to reviewers: better reviewed commit by commit.
Blocked on #38490