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

RFC: Clarify stable features usage #6995

Closed
wants to merge 1 commit into from

Conversation

JeromeJu
Copy link
Member

@JeromeJu JeromeJu commented Jul 28, 2023

Changes

This commit helps clarify the usage of stable features to be apparent in also apis other than GA.

/kind documentation
part of: #6965

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • [n/a] Has Tests included if any functionality added or changed
  • Follows the commit message standard
  • [n/a] Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • [n/a] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • [n/a] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

NONE

@tekton-robot tekton-robot added the release-note-none Denotes a PR that doesnt merit a release note. label Jul 28, 2023
@tekton-robot
Copy link
Collaborator

@JeromeJu: The label(s) kind/doc cannot be applied, because the repository doesn't have them.

In response to this:

Changes

This commit helps clarify the usage of stable features to be apparent in also apis other than GA.

/kind doc

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
  • [n/a] Has Tests included if any functionality added or changed
  • Follows the commit message standard
  • [n/a] Meets the Tekton contributor standards (including functionality, content, code)
  • Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
  • [n/a] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
  • [n/a] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes

NONE

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.

@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
To complete the pull request process, please assign dibyom after the PR has been reviewed.
You can assign the PR to them by writing /assign @dibyom in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Jul 28, 2023
@tekton-robot tekton-robot added the kind/documentation Categorizes issue or PR as related to documentation. label Jul 28, 2023
This commit helps clarify the usage of stable features to be apparent in also apis other than GA.
@JeromeJu JeromeJu requested a review from khrm August 3, 2023 13:44
@tekton-robot
Copy link
Collaborator

@khrm: changing LGTM is restricted to collaborators

In response to this:

Thanks.

/lgtm

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.

Copy link
Member

@Yongxuanzhang Yongxuanzhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 14, 2023
@dibyom
Copy link
Member

dibyom commented Aug 17, 2023

@JeromeJu one question I have is what does it mean for a feature to be GA when the API version is alpha 🤔

@JeromeJu
Copy link
Member Author

JeromeJu commented Aug 17, 2023

@JeromeJu one question I have is what does it mean for a feature to be GA when the API version is alpha 🤔

Good point as I think this is also part of the issue TEP0138 is trying to address. I think we should find a way to elaborate that feature stability(versioning) shall be independent from API version. But not too sure if where this PR modifies is the place for such clarifications?

Maybe another section with a matrix of what each stability level mean in different api versions. WDYT?

@lbernick
Copy link
Member

lbernick commented Aug 21, 2023

What's a bit confusing about this is right now we don't really have a notion of "stable features"-- it's just everything that's not an alpha or beta feature. I think this is why the question keeps coming up of why you'd describe fields of an alpha CRD as "stable". The way Kubernetes describes this is IMO a bit more clear: they talk about the feature lifecycle and explain that features "graduate" to GA after being beta, so a "stable" feature is a feature that has "graduated" from beta and no longer needs a feature gate. Similarly for us, a stable feature is something that was previously enabled by "enable-api-fields", but no longer is (although this isn't how I'd define a "stable" feature in user-facing docs). Maybe adopting some of Kubernetes' language around feature lifecycle could help clarify this confusion, especially if we move to per-feature flags. (Really it's just a different way of describing the same thing.)

Maybe another section with a matrix of what each stability level mean in different api versions. WDYT?

I'm concerned this will create more confusion related to people thinking the stability level of a feature is based on the stability level of the CRD it's present in.

@JeromeJu
Copy link
Member Author

JeromeJu commented Aug 21, 2023

Maybe adopting some of Kubernetes' language around feature lifecycle could help clarify this confusion, especially if we move to per-feature flags. (Really it's just a different way of describing the same thing.)

That makes sense. I will open up another PR for this as introducing features lifecycle sounds like a somewhat related but different topic than api_compatibility_policy itself. I am not sure if a separate doc than this sounds better?

@lbernick
Copy link
Member

A separate PR is totally fine; I think this doc is an appropriate place to describe feature lifecycle since it's very related to feature stability level. It might also be less confusing to wait until TEP 138 is resolved, especially if we do decide to adopt per-feature flags. Up to you!

@JeromeJu
Copy link
Member Author

A separate PR is totally fine; I think this doc is an appropriate place to describe feature lifecycle since it's very related to feature stability level. It might also be less confusing to wait until TEP 138 is resolved, especially if we do decide to adopt per-feature flags. Up to you!

I agree that this could be one of the changes under TEP0138:) Let's wait till it gets merged.

@jerop jerop added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 20, 2023
@jerop
Copy link
Member

jerop commented Sep 20, 2023

/hold

tektoncd/community#1034 under discussion

@tekton-robot tekton-robot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Sep 20, 2023
@vdemeester
Copy link
Member

@JeromeJu @jerop what is the status of this one ?

@JeromeJu
Copy link
Member Author

@JeromeJu @jerop what is the status of this one ?

Thanks for the review, this has been made in #6941 PTAL! . Suggesting that we could close this:)

@vdemeester
Copy link
Member

Alright, let's close it then.

@vdemeester vdemeester closed this Oct 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/documentation Categorizes issue or PR as related to documentation. lgtm Indicates that a PR is ready to be merged. release-note-none Denotes a PR that doesnt merit a release note. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants