kubernetes / community

Kubernetes community content
Apache License 2.0
12k stars 5.17k forks source link

Revisiting criteria and process for Alpha/Beta/GA #4000

Open johnbelamaric opened 5 years ago

johnbelamaric commented 5 years ago

As part of the ongoing effort to improve consistency, quality and reliability, we have been adding new gates along the feature development path, such as writing a KEP, API review, production readiness review, conformance test requirements, etc. Because of this, we need to revisit our guidance for graduation criteria and perhaps the feature release process. The KEP template has a section for graduation criteria, and we have this set of guidance, but that's embedded in the doc about changing APIs and needs a broader focus.

As for feature release process, we have the KEP process. A quick check though shows our current process is not working as well as I think we'd like. Either that or there's a lot less going on that we think. Of about 133 KEPs, only 13 show as actually "implemented":

jbelamaric@jbelamaric:~/proj/gh/kubernetes/enhancements/keps$ grep -r status: sig-*/[0-9]*.md | wc -l
133
jbelamaric@jbelamaric:~/proj/gh/kubernetes/enhancements/keps$ grep -r status: sig-*/[0-9]*.md | cut -d: -f 3 | tr -d ' ' | sort | uniq -c
      4 
      2 "False"
     79 implementable
     13 implemented
      1 implemented)
      1 proposal).
     32 provisional
      1 "True"
jbelamaric@jbelamaric:~/proj/gh/kubernetes/enhancements/keps$ 

When they are left in "provisional" and "implementable" state, even though at least some are certainly released in at least alpha or beta, it makes me wonder if we are properly reviewing the KEP graduation criteria as we merge/promote things. Maybe we are, but it's not clear, and I worry that we're not being very effective at reviewing the features and making sure that all the "i"s are dotted and "t"s are crossed.

So, the discussion I am trying to start is this:

As a starting point, some of the criteria for graduation at different levels could include:

justaugustus commented 5 years ago

/sig architecture pm release /priority important-soon

cc: @kubernetes/sig-pm @kubernetes/sig-release @kubernetes/release-team

fedebongio commented 5 years ago

/cc

fejta-bot commented 4 years ago

Issues go stale after 90d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta. /lifecycle stale

johnbelamaric commented 4 years ago

/remove-lifecycle stale /lifecycle frozen

johnbelamaric commented 4 years ago

New policy for avoiding perma-betas has merged: https://github.com/kubernetes/enhancements/pull/1266

Along these lines we need:

We need to make sure that if we up the bar for beta we do not push things to be left in alpha which is worse - and we found in the PRR survey that a shocking 57% of orgs with 101-1000 nodes under management had enabled an alpha feature in production.

justaugustus commented 4 years ago

/remove-sig pm /area enhancements

lasomethingsomething commented 3 years ago

Adding discussion notes raised over various Release Team (1.19) and Enhancements subproject meetings since June 2020

Process improvements and clarification needs

General

Alpha-related

Beta-related

jberkus commented 1 year ago

Hey, this issue is marked as Frozen, but has had no activity since 2020.

I'm going to close it if I don't hear from anyone in a week.