-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
Drop support for running etcd in pod network #38040
Conversation
/test |
14faa30
to
4e6a20e
Compare
/test |
4e6a20e
to
ee79848
Compare
Rebased onto main to fix a conflict. |
/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.
Nice! ✔️
Since we removed the releasable resources, we could drop promise.MapError
as well, but let's do that in a separate PR. 👍
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>
ee79848
to
e3a5a0e
Compare
Thanks, added an extra commit reverting it. I had to rebase and retrigger CI anyways due to merge conflicts to be fixed. |
/test |
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.