-
Notifications
You must be signed in to change notification settings - Fork 40.6k
Remove volume.beta.kubernetes.io/storage-provisioner
annotation
#114804
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
Remove volume.beta.kubernetes.io/storage-provisioner
annotation
#114804
Conversation
@mengjiao-liu: This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The 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. |
/retest |
@mengjiao-liu: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
It looks like the e2e test failures are genuine.
|
Can we remove support for beta annotations? The deprecation policy says that beta annotations are part of the API, and a stable API cannot be removed: https://kubernetes.io/docs/reference/using-api/deprecation-policy/ |
But PR kubernetes-sigs/nfs-subdir-external-provisioner#206 wants to update dependencies to the latest version but hasn't finished it yet.
external-provisier rancher.io/local-path library for the same reason as above, using sigs.k8s.io/sig-storage-lib-external-provisioner v4.0.2-0.20200115000635-36885abbb2bd+incompatible rather than v8.0.0 |
In my understanding, beta annotations can be removed referring to https://kubernetes.io/docs/reference/using-api/deprecation-policy/.
|
The way I read the deprecation policy is that the only way to "remove" the annotation is to introduce a new API version with it removed:
So since PVC and PV are in core/v1, we could only remove the annotation in a core/v2, or consider moving it to a storage/v2. @jsafrane wdyt? |
Indeed, it feels like rule#1 and rule#4a are a little confusing. |
Since even our e2e tests use the beta annotation, IMO the world is not yet ready for that. If we decide we can remove the annotation, can we throw a warning first (+ alert?), wait for couple of releases and then remove it? |
I think flocker is an extreme case because the entire project was discontinued. I think we could definitely have warnings. I am still not sure we can remove it according to the policy. |
Yes, I agree with throwing a warning/alert first.
@liggitt Could you please help confirm this problem? We're a little unsure when we can remove this annotation. |
That rule refers to removing API fields, dropping existing data. In this case, existing data in annotations is still preserved, even if controllers stop actuating on that data. This PR isn't removing the ability to set, persist, and retrieve the annotation. What happens if someone has an existing object with only the beta annotation, and doesn't update it. The PVC will sit, unprovisioned, until the GA annotation is added? This seems in-bounds to drop from controller logic, but we should make sure we clean up as much usage as possible, communicate steps clearly. I would ask questions like:
Answering those, cleaning up our usage to ensure we consistently honor the GA version with higher precedence than the beta annotation, and only set the GA version, opening issues for out-of-project uses we find, seem like good first steps. |
No, but kubernetes-sigs provisioner nfs-subdir-external-provisioner use it. The provisioner does not update the dependency library kubernetes-sigs/sig-storage-lib-external-provisioner to v8.0.0+. PR kubernetes-sigs/nfs-subdir-external-provisioner#258 is working on updateing it.
No, but kubernetes-sigs provisioner nfs-subdir-external-provisioner use it. The provisioner does not update the dependency library kubernetes-sigs/sig-storage-lib-external-provisioner to v8.0.0+.
From the e2e tests,rancher.io/local-path provisioner depends on it because rancher.io/local-path provisioner does not update the dependency library sigs/sig-storage-lib-external-provisioner to v8.0.0+.
I looked at this part of the Kubernetes code. This annotation is added to PVC automatically, not manually. Therefore, if the provisioner uses the correct dependency library, it can be smoothly upgraded to the GA version. In the dependency library https://github.com/kubernetes-sigs @divyenpatel @jsafrane help confirm. |
PR needs rebase. 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. |
The Kubernetes project currently lacks enough contributors to adequately respond to all PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
Process: |
/remove-lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. In response to this:
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. |
Need to wait for the PR update of the third-party repo. |
@mengjiao-liu: Reopened this PR. In response to this:
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. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: mengjiao-liu 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 |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. In response to this:
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. |
/reopen |
@mengjiao-liu: Reopened this PR. In response to this:
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-sigs/prow repository. |
@mengjiao-liu FYI: some discussion on Slack about the problem statement. https://kubernetes.slack.com/archives/C09QZFCE5/p1698141130960549 Before removing it, we need to ensure @liggitt's question is resolved.
We may need a proposal for how to handle this. My initial thought is like this (but I'm not sure if it's the best way):
I'm unsure whether a feature gate |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. In response to this:
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-sigs/prow repository. |
/reopen |
@mengjiao-liu: Reopened this PR. In response to this:
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-sigs/prow repository. |
Please note that we're already in Test Freeze for the Fast forwards are scheduled to happen every 6 hours, whereas the most recent run was: Thu Nov 28 10:39:15 UTC 2024. |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. In response to this:
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-sigs/prow repository. |
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
The
volume.beta.kubernetes.io/storage-provisioner
annotation has been deprecated since v1.23 and usesvolume.kubernetes.io/storage-provisioner
instead.Now we can remove beta annotation because the deprecation period has ended(more than a year and 3 minor releases).
see https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-parts-of-the-api for more deprecation details.
Which issue(s) this PR fixes:
Ref:
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
/sig storage
/cc @jsafrane @msau42 @Jiawei0227