-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
add KEP to remove dynamic provisioning from in-tree plugins #4548
base: master
Are you sure you want to change the base?
add KEP to remove dynamic provisioning from in-tree plugins #4548
Conversation
carlory
commented
Mar 14, 2024
- One-line PR description: remove dynamic provisioning from in-tree plugins
- Issue link: In-tree volume plugins remove dynamic provisioning support #4547
- Other comments:
/assign @xing-yang |
Please add a yaml file for production readiness: You also need to fill out the PRR section: |
that support it. | ||
|
||
Once the migration plan of the portworxVolume plugin is completed, only the hostPath | ||
in-tree volume plugin will support dynamic provisioning. The dynamic provisioning support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there tests currently using the in-tree hostpath plugin for dynamic provisioning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No.
For e2e tests, both hostPathDriver and hostPathSymlinkDriver don't implement the storageframework.DynamicPVTestDriver interface in the test/e2e/storage/drivers/in_tree.go
.
For unit tests, mockVolumePlugin defined in pkg/controller/volume/persistentvolume/framework_test.go
is used.
For intergation tests, FakeVolumePlugin defined in pkg/volume/testing/testing.go
is used in test/integration/volume/persistent_volumes_test.go
keps/sig-storage/4547-in-tree-volume-plugins-remove-dynamic-provisioning-support/README.md
Outdated
Show resolved
Hide resolved
|
||
Not needed for this KEP. no new features are added. | ||
|
||
### Graduation Criteria |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have conformance tests for dynamic provisioning that will need to be removed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, this KEP is aimed to remove dynamic provisioning for in-tree volume plugins. But host-path drivers in e2e tests don't implement the storageframework.DynamicPVTestDriver interface.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some unit and integration tests need to be removed. see #4548 (comment)
keps/sig-storage/4547-in-tree-volume-plugins-remove-dynamic-provisioning-support/README.md
Show resolved
Hide resolved
7fb1911
to
e1462f8
Compare
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: carlory 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 |
e1462f8
to
6d3283e
Compare
6d3283e
to
3518457
Compare
@carlory: The following test 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-sigs/prow repository. I understand the commands that are listed here. |
- [ ] Feature gate (also fill in values in `kep.yaml`) | ||
- Feature gate name: | ||
- Components depending on the feature gate: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a deprecation feature gate for this change? I.e. add a feature gate that is off-by-default but provides any cluster administrators that run into problems with the feature removal with a way to re-enable it for one release before it is removed permanently?
cc @msau42
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PRR reviewers discussed this as well. Our general agreement is that deprecations should be feature gated (this means introducing a feature gate specifically to aid the deprecation in this case) to allow for a softer landing: "featuregate disables this soft-removed functionality by default, but you can re-enable for one release by setting this gate. The next release, the gate will locked to removed".
EDIT: @deads2k also pointed out: "where "next release" may end up informed by a future skip level upgrade policy" (note that node skew policy is N-3 compatibility with apiserver)
PRR reviewer here, #4548 (review), just wanted to point out that is still open, and would be required for this enhancement, and enhancement freeze is tomorrow. |
@jpbetz I have to postpone it to 1.32 because of a personal issue. I will update the KEP according to the feedback when I have time. |
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 |
/remove-lifecycle stale |
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 |
/remove-lifecycle stale |
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 |
/remove-lifecycle stale |