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

Form a Standard Process of Dealing with Kubernetes Deprecations #5300

Closed
XinruZhang opened this issue Aug 10, 2022 · 5 comments
Closed

Form a Standard Process of Dealing with Kubernetes Deprecations #5300

XinruZhang opened this issue Aug 10, 2022 · 5 comments
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@XinruZhang
Copy link
Member

XinruZhang commented Aug 10, 2022

Currently, the most major implementation of Tekton APIs is on Kubernetes.
Kubernetes deprecates APIS 1 now and then, we need to form a standard process
to deal with those deprecation announcements.

The benefit is obvious: we can avoid any incompatibility between Tekton and K8s
of a new version with deprecated APIs/Flags/Features removed.
(#4158 wouldn't be
an issue any more).

One thing we may want to take into account is: the minimum supported k8s version
might change more often, see the reason detailed below.


How the minimum supported k8s version gets changed

Let's take the table below as an example, say Tekton
uses a to-be-deprecated v1beta1 K8s resource, to migrate the deprecation,
Tekton needs to at least depend on K8s X+3 release (meaning updating related
dependencies like client-go), and uses v1beta2 instead of v1beta1, and
there might be kubernetes minor version upgrade between release X and X+3.

Release API Versions Preferred/Storage Version Notes
X v1beta1 v1beta1
X+1 v1beta1 v1beta1
X+2 v1beta1 v1beta1
X+3 v1beta2, v1beta1 (deprecated) v1beta1
  • v1beta1 is deprecated, "action required" relnote
X+4 v1beta2, v1beta1 (deprecated) v1beta2
X+5 v1, v1beta1 (deprecated), v1beta2 (deprecated) v1beta2
  • v1beta2 is deprecated, "action required" relnote
X+6 v1, v1beta2 (deprecated) v1
  • v1beta1 is removed, "action required" relnote

Footnotes

  1. https://kubernetes.io/docs/reference/using-api/deprecation-guide/

@vdemeester
Copy link
Member

Note: we also depend on knative.dev/pkg minimun Kubernetes version. So far, the only "time" we bump our "minimun" Kubernetes verison is when we bump knative.dev/pkg and it does bump that version.

/cc @imjasonh

@tekton-robot
Copy link
Collaborator

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale with a justification.
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 with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle stale

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 16, 2022
@tekton-robot
Copy link
Collaborator

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/lifecycle rotten

Send feedback to tektoncd/plumbing.

@tekton-robot tekton-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Dec 16, 2022
@tekton-robot
Copy link
Collaborator

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen with a justification.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

@tekton-robot
Copy link
Collaborator

@tekton-robot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen with a justification.
Mark the issue as fresh with /remove-lifecycle rotten with a justification.
If this issue should be exempted, mark the issue as frozen with /lifecycle frozen with a justification.

/close

Send feedback to tektoncd/plumbing.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
Status: Done
Development

No branches or pull requests

3 participants