Skip to content
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

Health of etcd project #898

Closed
dims opened this issue Aug 15, 2022 · 14 comments
Closed

Health of etcd project #898

dims opened this issue Aug 15, 2022 · 14 comments

Comments

@dims
Copy link
Member

dims commented Aug 15, 2022

The etcd project is a critical dependency of Kubernetes. The project has been struggling with both turnover of critical folks and lack of new folks with sufficient knowledge/experience to offset the loss of members.

original email from maintainers of etcd:
https://groups.google.com/a/kubernetes.io/g/steering/c/e-O-tVSCJOk/m/N9IkiWLEAgAJ

More recent health check:
https://groups.google.com/a/kubernetes.io/g/steering/c/e-O-tVSCJOk/m/GHUB6jl5BAAJ

Proposal for mentorship:
etcd-io/etcd#14243

last governance change:
etcd-io/etcd#14053

Deep dive from one of the new maintainers:
Benjamin Wang from VMware, had presented to Runtime TAG in June 2022. https://docs.google.com/presentation/d/e/2PACX-1vRGyr3gSUJVm23Zv6bQNmZRaCeU-2nQD1U1vBEbZJZc2vhEbN4w8Rxf6e-01L1B8w/pub?start=false&loop=false&delayms=3000&slide=id.p1

@dims
Copy link
Member Author

dims commented Aug 15, 2022

Process to cleanup maintainer list:
etcd-io/etcd#14238

@ahrtr
Copy link

ahrtr commented Aug 15, 2022

Update versioning support :

@serathius
Copy link

Update on maintainer cleanup:
We introduced procedure for removing maintainers, analysed activity and proposed to remove 6 inactive maintainers etcd-io/etcd#14373, leaving etcd with 6 maintainers.

Seems like enough but I expect that within next 6 months another 2 maintainers will leave the project.

@dims
Copy link
Member Author

dims commented May 2, 2023

Chart from devstats

image

Things are looking up!

@mrbobbytables
Copy link
Member

I think that graph hides a lot of details - those contributions are up, but most are from 2 people (looking at PRs + PR reviews)

https://etcd.devstats.cncf.io/d/9/developer-activity-counts-by-repository-group-table?orgId=1&var-period_name=Last%20year&var-metric=reviews&var-repogroup_name=All&var-country_name=All

It becomes even more evident when you look at the etcd repo itself (where contributors are REALLY needed) and start looking at commits / PRs etc

https://etcd.devstats.cncf.io/d/9/developer-activity-counts-by-repository-group-table?orgId=1&var-period_name=Last%20year&var-metric=commits&var-repogroup_name=etcd&var-country_name=All

@caniszczyk
Copy link
Contributor

caniszczyk commented May 2, 2023 via email

@logicalhan
Copy link

I agree with Bob. Two people account for 70% of the merged PRs, which definitely doesn't seem healthy.

@jmhbnz
Copy link

jmhbnz commented May 2, 2023

Sharing a couple of quick thoughts as a new contributor that has been making an effort to get involved this year. I think the adoption of a more structured and intentional membership ladder has been a step in the right direction.

There has definitely been an uptick in contributors and lately, and some of the basic maintenance for the project is now shared amongst contributors rather than just being handled by one maintainer which is positive.

It was also heartening to see a decent turnout at the etcd contribfest at kubecon eu although most of the contributions merged there and shortly afterwards were very simple or docs maintenance. The interesting thing will be seeing if any of those brand new contributors stick around. One has three pr's merged now and is working on their fourth.

To finish, the challenge with etcd in my mind is the complexity of the codebase combined with the subject matter expertise. Some positive steps have been taken recently for the project, though it just takes quite a while for folks to get to the point of being able to confidently operate as a maintainer I think. If we can keep up the momentum from recently then I'm optimistic the project health will improve.

@ahrtr
Copy link

ahrtr commented May 3, 2023

I think it (etcd's health status) is definitely a little better now.

  • We recently on-boarded 7 new members, and most of them keep active in the past a couple of months. They help to triage & fix issues, answer questions, fix flaky test cases, maintain document, etc. They definitely share the burden of maintainers.
  • Given the complexity of the etcd codebase, it may need some time for some new members & contributors to dig into the etcd core (let alone the bbolt and raft). I believe it gets better and better because basically all the new members and some contributors have big passion on etcd, and some members & contributors already have very deep understanding on etcd's codebase.

@jberkus
Copy link
Contributor

jberkus commented May 3, 2023

We've also started a stepped-up contributor/reviewer recruitment program, kicked off at the recent Kubecon EU. Our only real way out of this bind is organized contributor development, so that's what we'll be doing. Look for a full program proposal soon.

Kubecon was really good as a kick-off; we got a bunch of new contributors interested/involved. Now we need to keep the momentum going.

@dims
Copy link
Member Author

dims commented May 11, 2023

xref: etcd-io/etcd#15875

@shreemaan-abhishek
Copy link

How about lfx/gsoc mentorship projects under etcd?

@amye
Copy link
Contributor

amye commented Sep 5, 2023

Closing, this is no longer active with TOC. (Ping me if you have other comments!)

@amye amye closed this as completed Sep 5, 2023
@BenTheElder
Copy link

BenTheElder commented Oct 5, 2023

[EDIT: Speaking for myself only as a member of The Kubernetes Steering Committee]

Linking back: kubernetes/community#7372

The Kubernetes Steering Committee has reviewed & unanimously approved a proposal to bring etcd into Kubernetes as a top-level Special Interest Group, etcd will continue to be run by the etcd maintainers but will receive support from the relevant Kubernetes teams (SIS K8s Infra for CI/Hosting resources etc, Security Response Committee for triaging vulnerability reports and running the bug bounty program, Code of Conduct Committee, the GitHub Management subproject, ... etc).

We hope that deduplicating this sort of meta-organization support work and raising more visibility to Kubernetes vendors will help the etcd project, however for clarity this does not mean etcd is "controlled by kubernetes" or "only supporting kubernetes" and the technical direction will continue to be set by existing etcd leadership, etcd will be an independent SIG on the same tier as any other technical or non-technical ownership group in the broader Kubernetes organization.

As part of this etcd has bootstrapped leaders for the SIGs and some more folks have stepped back up to support this effort.

With respect to technical direction between etcd and SIG API-Machinery: there is also a new sub-project under SIG Etcd to define the currently implicit technical contract between the Kubernetes API Server and etcd.

There are still some ongoing procedural bits to sort out, but kubernetes/community#7372 has merged and things are currently moving forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests