Open siyuanfoundation opened 6 months ago
while https://github.com/kubernetes/enhancements/pull/4610 is still in review, I think there is no much contention regarding server level feature gate. we can get started on the implementation. /cc @stackbaek @henrybear327
Thanks @siyuanfoundation for the heads up! Happy to contribute to this feature :) Looking forward to it!
Can we wait for approvals for the KEP so the implementation done by contributors don't need to be updated when the design details are changed frustrating the contributors?
/cc @YoyinZyc
What would you like to be added?
Add the Kubernetes style feature gate framework into etcd to gate future feature enhancement. Users would be able to turn features on or off for the single server and query feature enablement in a consistent way.
This issue is for tracking KEP-4578. Tasks in this KEP include
Milestone 1
[x] server feature gate interface defined, and code copied from K8s into
pkg/
: https://github.com/etcd-io/etcd/pull/18062.[x]
--feature-gates
flag added: https://github.com/etcd-io/etcd/pull/18279, https://github.com/etcd-io/etcd/pull/18365.[x] feature gate added to the server code, and used by a server level experimental feature: https://github.com/etcd-io/etcd/pull/18359
[ ] feature metrics added.
Milestone 2
[ ] e2e tests added for the feature gate equivalent of the selected experimental feature.
[ ] robustness test scenarios added for the selected experimental feature(s).
[ ] documentation to track all feature gates added to [etcd-io/website].
Milestone 3
[ ] migrate all existing
--experimental
server level features to feature gates without removing the old flags. List of features to migrate:experimental-stop-grpc-service-on-defrag
: https://github.com/etcd-io/etcd/pull/18359experimental-enable-distributed-tracing
experimental-initial-corrupt-check
experimental-peer-skip-client-san-verification
Why is this needed?
To make it easier to add and use new features in etcd. Please refer to https://github.com/kubernetes/enhancements/issues/4578 for more details.