From 908b7cfe3304c8d28f7e24d4867f767614eff4db Mon Sep 17 00:00:00 2001 From: Benjamin Wang Date: Fri, 21 Jul 2023 11:18:34 +0100 Subject: [PATCH] Documentation: add a roadmap Signed-off-by: Benjamin Wang --- Documentation/contributor-guide/roadmap.md | 42 ++++++++++++++++++++++ README.md | 2 ++ 2 files changed, 44 insertions(+) create mode 100644 Documentation/contributor-guide/roadmap.md diff --git a/Documentation/contributor-guide/roadmap.md b/Documentation/contributor-guide/roadmap.md new file mode 100644 index 000000000000..529e0fd16f0f --- /dev/null +++ b/Documentation/contributor-guide/roadmap.md @@ -0,0 +1,42 @@ +# roadmap + +etcd uses GitHub milestones to track all tasks in each major or minor release. The roadmap.md file only records the most +important tasks for each release. +Please also refer to [here](https://docs.google.com/spreadsheets/d/1hFpIbkI0IDum0SPy8txj7bVHxQRrAB_82f1Yqz_Pa8M/edit#gid=0&fvid=1685003197) +for more context. Note that etcd will continue to focus on technical debt over the next few major or minor releases. + +## v3.6.0 +| Title | Priority | Note | +|--------------------------------------------------------------------|----------|--------------------------------------------------------------------------------------------------------------| +| Support downgrade | P0 | etcd will support downgrade starting from 3.6.0. But it will also support offline downgrade from 3.5 to 3.4. | +| StoreV2 deprecation | P0 | This task will be covered in both 3.6 and 3.7. | +| Evaluate and (Gradulate or deprecate/remove) experimental features | P2 | This task will be covered in both 3.6 and 3.7. | +| Support /livez and /readyz endpoints | P1 | It provides clearer APIs, and can also workaround the stalled writes issue | +| Bump gRPC | P0 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. | +| Deprecate grpc-gateway or bump it | P1 | It isn't guaranteed to be resolved in 3.6, and might be postponed to 3.7 depending on the effort and risk. | +| Release raft 3.6.0 | P1 | etcd 3.6.0 will depends on raft 3.6.0 | +| bbolt: Add logger into bbolt | P1 | It's important to diagnose bbolt issues | +| bbolt: Add surgery commands | P1 | Surgery commands are important for fixing corrupted db files | +| Release bbolt 1.3.8 | P1 | etcd 3.6.0 will depends on bbolt 1.3.8 | + +## v3.7.0 + +| Title | Priority | Note | +|-------------------------------------------------------------------|----------|-----------------------------------------------------------------------------------| +| StoreV2 deprecation | P0 | Finish the remaining tasks 3.7. | +| Evaluate and (graduate or deprecate/remove) experimental features | P2 | Finish the remaining tasks 3.7. | +| Refactor lease: Lease might be revoked by mistake by old leader | P0 | to be investigated & discussed | +| Integrate raft's new feature (async write) into etcd | P1 | It should can improve the performance | +| bbolt: Support customizing the bbolt rebalance threshold | P2 | It may get rid of etcd's defragmentation. Both bbolt and etcd need to be changed. | + +## Backlog (future releases) + +| Title | Priority | Note | +|-----------------------------------------------------------|----------|------| +| Remove the dependency on grpc-go's experimental API | | | +| Protobuf: cleanup both golang/protobuf and gogo/protobuf | | | +| Proposals should include a merkle root | | | +| Add Distributed Tracing using OpenTelemetry | | | +| Support CA rotation | | | +| bbolt: Migrate all commands to cobra style commands | | | +| raft: enhance the configuration change validation | | | diff --git a/README.md b/README.md index 421405846b61..585844964c64 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,8 @@ See [CONTRIBUTING](CONTRIBUTING.md) for details on setting up your development e Please refer to [community-membership.md](Documentation/contributor-guide/community-membership.md#member) for information on becoming an etcd project member. We welcome and look forward to your contributions to the project! +Please also refer to [roadmap](Documentation/contributor-guide/roadmap.md) to get more details on the priorities for the next few major or minor releases. + ## Reporting bugs See [reporting bugs](https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/reporting_bugs.md) for details about reporting any issues. Before opening an issue please check it is not covered in our [frequently asked questions].