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

KEP numbering is broken #2245

Closed
tallclair opened this issue Jun 12, 2018 · 24 comments · Fixed by kubernetes/enhancements#703
Closed

KEP numbering is broken #2245

tallclair opened this issue Jun 12, 2018 · 24 comments · Fixed by kubernetes/enhancements#703
Assignees
Labels
area/enhancements Issues or PRs related to the Enhancements subproject kind/bug Categorizes issue or PR as related to a bug. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture.

Comments

@tallclair
Copy link
Member

Here are the current keps, sorted by filename number and displayed alongside the metadata number:

0000:
  ./0000-kep-template.md  -  0

0001:
  ./0001-kubernetes-enhancement-proposal-process.md  -  1

0002:
  ./sig-cloud-provider/0002-cloud-controller-manager.md  -  2

0003:
  ./sig-cluster-lifecycle/0003-cluster-api.md  -  3

0004:
  ./sig-cluster-lifecycle/0004-bootstrap-checkpointing.md  -  4

0005:
  ./sig-contributor-experience/0005-contributor-site.md  -  5

0006:
  ./0006-apply.md  -  6

0007:
  ./sig-contributor-experience/0007-20180403-community-forum.md  -  0007
  ./sig-network/0007-pod-ready++.md  -  1

0008:
  ./sig-cluster-lifecycle/0008-20180504-kubeadm-config-beta.md  -  draft-20180412
  ./0008-20180430-promote-sysctl-annotations-to-fields.md  -  8
  ./sig-cli/0008-kustomize.md  -  8

0009:
  ./0009-node-heartbeat.md  -  8

0010:
  ./sig-network/0010-20180314-coredns-GA-proposal.md  -  10

0011:
  ./sig-network/0011-ipvs-proxier.md  -  TBD

0012:
  ./sig-network/0012-20180518-coredns-default-proposal.md  -  11

The problems include number collisions & metadata / filename mismatch. Due to these problems, the current numbering only provides friction & confusion. I think the numbers either need to be abandoned, or automation needs to be added to ensure the correct numbering process is followed.

@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Jun 12, 2018
@tallclair
Copy link
Member Author

tallclair commented Jun 12, 2018

/sig contributor-experience
/assign calebamiles

@k8s-ci-robot
Copy link
Contributor

@tallclair: GitHub didn't allow me to assign the following users: calebmiles.

Note that only kubernetes members and repo collaborators can be assigned.

In response to this:

/sig contributor-experience
/assign calebmiles

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jun 12, 2018
@cblecker cblecker added sig/pm and removed sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. labels Jun 12, 2018
@tallclair
Copy link
Member Author

/cc @kubernetes/sig-architecture-bugs

@k8s-ci-robot k8s-ci-robot added sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. kind/bug Categorizes issue or PR as related to a bug. labels Jun 21, 2018
@justaugustus
Copy link
Member

+1
Do we think it's enough to just have KEPs organized in folders by SIG and abandon the numbering scheme?

...or perhaps have the numbering be based on the date of the proposal e.g., sig-pm/180625-really-cool-kep.md?

@jdumars
Copy link
Member

jdumars commented Jun 26, 2018

I'm putting this on the SIG-Architecture agenda for this week. Hopefully we'll get to it.

@bgrant0607
Copy link
Member

This came up in the original KEP discussions. I think there was some assumption that an "editor" would assign numbers post-merge.

I am a fan of the date approach.

I think the intent of the numbering is, at a glance, to get some sense of which KEPs are more recent.

@tallclair
Copy link
Member Author

Why not just use the initial PR number? If the goal is to increase number density, we could just have a dedicated repo for KEPs. I think the number was intended to be a UID, so that related KEPs could be referred to unambiguously.

@justaugustus
Copy link
Member

Going to plug the date approach again, since it gives you an immediate idea of how recent the proposals are. Not sure that we need another repo to track these, if we can think of a reasonable structure, but just my $0.02.

@thockin
Copy link
Member

thockin commented Jun 28, 2018 via email

@bgrant0607
Copy link
Member

Or a KEP repo just for the backlog?

That would be similar to what is proposed for the API review process:
https://docs.google.com/document/d/1OkSQngGem7xaENqaO8jzHLDSSIGh2obPUaJGAFDwTUE/edit#

We don't have a clean division between KEPs, design proposals, and development docs right now. I wouldn't want them to live in separate repos.

@jbeda
Copy link
Contributor

jbeda commented Jul 3, 2018

Sorry for being late to the party here.

I like the date approach. The one downside to that it is that it is difficult to refer to a KEP easily. I was looking forward to being able to talk about KEP 123 and have everyone know what we were talking about. As we have overlapping KEPs that deprecate old KEPs, etc. it is nice to have a number. This works well for RFCs and PEPs.

I'm not a fan of using the PR number. This locks us to github in a way that isn't great. If we ever migrate someplace else that counter gets lost and may not translate.

I don't think it'd be that hard to have a presubmit hook for this that runs. Seems like a quick hack. (I'd volunteer but I've never done one before and I'm not sure what system to integrate with and where/how to test.)

One other point -- the goal of the KEP process was to check in early to avoid some of this. Ideally a new KEP proposal shouldn't sit more than a day or two. All real discussion and refinement would happen in follow on PRs. I'd love all of us to encourage people to check in early and often with KEPs.

@cblecker
Copy link
Member

cblecker commented Jul 3, 2018

Another out in the world example of how this is handled:
In the IETF, draft documents are always just draft-name-00 with the 00 being incremented. When something is accepted for RFC publication, then it's assigned a number. So perhaps all initial drafts get merged as draft, but then once the status in the sig goes to ACCEPTED, then an incremental number is assigned?

@justaugustus
Copy link
Member

Any updates on this?

@jdumars
Copy link
Member

jdumars commented Jul 31, 2018

My recommendation is that we separate KEP implementation tracking from the technical aspects of the KEP itself. All KEPs are tracked by SIG architecture currently in https://github.com/kubernetes-sigs/architecture-tracking via https://github.com/kubernetes-sigs/architecture-tracking/projects/2 The KEP creator could create the tracking issue and use that number as the KEP number. You will note on that board the high number of duplicates. This will immediately fix the problem. If this works, I will update the KEP process documentation and communicate it to the greater community.

@jbeda
Copy link
Contributor

jbeda commented Jul 31, 2018

Jaice -- do you think we need a tracking issue on the board? Not all KEPs will require SIG-architecture to be involved. What about KEPs that are local to a SIG?

@tallclair
Copy link
Member Author

/assign @jdumars

@bgrant0607
Copy link
Member

FWIW, I don't foresee people referring to KEPs by numbers. I don't know many others who regularly refer to issues and PRs by number. :-)

The number not being finalized while the KEP is actively being discussed also leads to just referring to the KEP by topic.

@justaugustus
Copy link
Member

From @justinsb in #2834:

There are 2 KEP 30s:

https://github.com/kubernetes/community/blob/master/keps/sig-api-machinery/0030-storage-migration.md

https://github.com/kubernetes/community/blob/master/keps/sig-network/0030-nodelocal-dns-cache.md

I think there are also two KEP 28s, two KEP 18s, three KEP 15s.

I'm guessing that rebase-needed detection doesn't work the way we think it does...

@BenTheElder
Copy link
Member

rebase needed basically asks github if the PR needs rebase IIRC, it does this on some pretty low polling interval (daily?) and otherwise might occasionally get an event from github sooner than that.

@BenTheElder
Copy link
Member

it's definitely not something to rely on heavily, just a handy nudge when it works

@justaugustus
Copy link
Member

Thanks for the context, Ben!

@justaugustus
Copy link
Member

This will be removed in kubernetes/enhancements#703
I've commented on open KEP PRs to request that authors remove references to KEP numbers.

@justaugustus
Copy link
Member

/milestone v1.14

@justaugustus
Copy link
Member

/remove-sig pm
/sig architecture
/area enhancements

@k8s-ci-robot k8s-ci-robot added area/enhancements Issues or PRs related to the Enhancements subproject and removed sig/pm labels Apr 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/enhancements Issues or PRs related to the Enhancements subproject kind/bug Categorizes issue or PR as related to a bug. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants