8000 Drop support for running etcd in pod network by giorio94 · Pull Request #38040 · cilium/cilium · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Drop support for running etcd in pod network #38040

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

Merged
merged 8 commits into from
Mar 14, 2025

Conversation

giorio94
Copy link
Member
@giorio94 giorio94 commented Mar 6, 2025

Support for running etcd in pod network has been officially deprecated in v1.16 [1], and disabled by default in v1.17 [2]. It is now time to drop it completely, to allow simplifying the watchers logic and possible future associated refactoring.

[1]: f99f10b ("docs: Deprecate support for podnetwork etcd")
[2]: 86c85da ("watchers: disable CRD to kvstore handover logic")

Please review commit by commit, and refer to the individual commit messages for additional details.

I'm not adding this removal to the upgrade notes, as already announced as part of the previous release, when this support has been disabled behind a hidden flag.

Remove deprecated and disabled by default support for running the Cilium KVStore in pod network

@giorio94 giorio94 added release-note/minor This PR changes functionality that users may find relevant to operating Cilium. area/kvstore Impacts the KVStore package interactions. labels Mar 6, 2025
@giorio94
Copy link
Member Author
giorio94 commented Mar 6, 2025

/test

@giorio94 giorio94 marked this pull request as ready for review March 7, 2025 09:36
@giorio94 giorio94 requested review from a team as code owners March 7, 2025 09:36
@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 11, 2025
@giorio94 giorio94 added the dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. label Mar 11, 2025
@giorio94 giorio94 force-pushed the mio/drop-kvstore-pod-network-support branch from 14faa30 to 4e6a20e Compare March 11, 2025 15:35
@giorio94 giorio94 requested review from a team as code owners March 11, 2025 15:35
@giorio94 giorio94 removed ready-to-merge This PR has passed all tests and received consensus from code owners to merge. dont-merge/discussion A discussion is ongoing and should be resolved before merging, regardless of reviews & tests status. labels Mar 11, 2025
@giorio94
Copy link
Member Author

/test

@giorio94 giorio94 force-pushed the mio/drop-kvstore-pod-network-support branch from 4e6a20e to ee79848 Compare March 12, 2025 13:05
@giorio94
Copy link
Member Author

Rebased onto main to fix a conflict.

@giorio94
Copy link
Member Author

/test

Copy link
Member
@pippolo84 pippolo84 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! ✔️

Since we removed the releasable resources, we could drop promise.MapError as well, but let's do that in a separate PR. 👍

@maintainer-s-little-helper maintainer-s-little-helper bot added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 14, 2025
Support for running etcd in pod network has been officially deprecated
in v1.16 [1], and disabled by default in v1.17 [2]. It is now time to
drop it completely, to allow simplifying the watchers logic and possible
future associated refactoring.

[1]: f99f10b ("docs: Deprecate support for podnetwork etcd")
[2]: 86c85da ("watchers: disable CRD to kvstore handover logic")

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Following the removal of the support for running etcd in pod network,
let's rework the CiliumNode watcher dropping the handover logic, which
is complex and fragile. Indeed, the watcher is now guaranteed to not
be started at all when Cilium is configured in kvstore mode. For the
same reason, it is no longer necessary to mark the CN resource as
stoppable. While being there, let's align the structure to that of
the other watchers.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Following the removal of the support for running etcd in pod network,
let's rework the CiliumEndpoint and CiliumEndpointSlice watchers
dropping the handover logic, which is complex and fragile. Indeed,
the watchers are now guaranteed to not be started at all when Cilium
is configured in kvstore mode. For the same reason, it is no longer
necessary to mark the CEP/CES resources as stoppable. While being
there, let's align the structure to that of the other watchers.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Following the removal of the support for running etcd in pod network,
let's rework the Pod watchers dropping the handover logic (that is
switching from watching all pods to local pods only), in favor of
always watching the local pods only. While being there, let's also
align the structure to that of the other watchers.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
They are no longer used following the removal of the CRD to kvstore
handover logic.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
Currently, the `cleanupStatus` method eventually releases the BGP peer
config store. However, that resource is not initialized as stoppable,
hence this operation is a no-op. Nevertheless, the informer could not
be stopped, as events are still observed. In preparation for the
subsequent removal of the support for releasable resources, let's
drop this call.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
This reverts commit 4226701.

Now that all users of releasable resources have been removed, let's drop
the extra logic to stop the underlying informer as well, to keep things
as simple as possible.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
This reverts commit 49ae544.

Now that all users of `promise.MapError` have been removed, let's drop
it as well.

Signed-off-by: Marco Iorio <marco.iorio@isovalent.com>
@giorio94 giorio94 force-pushed the mio/drop-kvstore-pod-network-support branch from ee79848 to e3a5a0e Compare March 14, 2025 14:48
@giorio94 giorio94 requested a review from a team as a code owner March 14, 2025 14:48
@giorio94 giorio94 removed the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Mar 14, 2025
@giorio94
Copy link
Member Author

Since we removed the releasable resources, we could drop promise.MapError as well, but let's do that in a separate PR. 👍

Thanks, added an extra commit reverting it. I had to rebase and retrigger CI anyways due to merge conflicts to be fixed.

@giorio94
Copy link
Member Author

/test

@giorio94 giorio94 requested a review from pippolo84 March 14, 2025 14:50
@giorio94 giorio94 enabled auto-merge March 14, 2025 14:50
@giorio94 giorio94 added this pull request to the merge queue Mar 14, 2025
Merged via the queue into cilium:main with commit f27e3a6 Mar 14, 2025
72 of 73 checks passed
@giorio94 giorio94 deleted the mio/drop-kvstore-pod-network-support branch March 14, 2025 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kvstore Impacts the KVStore package interactions. release-note/minor This PR changes functionality that users may find relevant to operating Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants
0