[1.36] Remove intree volume plugin portworx
What type of PR is this?
/kind cleanup
What this PR does / why we need it:
The portworx is the last in-tree volume plugin to be removed.
Which issue(s) this PR is related to:
KEP: https://github.com/kubernetes/enhancements/issues/2589 Fixes: https://github.com/kubernetes/kubernetes/issues/85313
Special notes for your reviewer:
Does this PR introduce a user-facing change?
- Removed the generally available feature gate `CSIMigrationPortworx`, which was locked and enabled since 1.33.
- Removed alpha feature gate `InTreePluginPortworxUnregister`
- Removed Portworx volume plugin from in-tree plugins because all operations are redirected to CSI.
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all
/test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce
(nit) Although it's early, it'd be great to see a draft PR open that updates the associated annotation and marks it deprecated.
Changelog suggestion
- Removed Portworx volume plugin from in-tree plugins because all operations are redirected to CSI.
-- Marked the `storage.alpha.kubernetes.io/migrated-plugins` annotation of csi nodes as deprecated. kubelet stopped setting this annotation and removed the annotation from csi nodes when kubelet is (re)-started if the annotation is present. kube-scheduler stopped using this annotation in the `NodeVolumeLimits` and `VolumeBinding` plugins. All volume controllers in kube-controller-manager removed this dependency on the annotation.
+- Marked the `storage.alpha.kubernetes.io/migrated-plugins` annotation of CSINodes as deprecated; it now has no effect.
/test pull-kubernetes-unit
/test pull-kubernetes-unit /test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce
/test pull-kubernetes-unit /test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce
/pony party
In response to this:
/pony party
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.
/uncc bad bot. I'm only in 1 of the 17 OWNERS files...
/cc @xing-yang @gnufied @jsafrane
I split all changes into multiple commits. Please review each commit separately for better review experience.
BTW, all plugins are migrated, so external csi drivers shouldn't depend on the kube-controller-manager. Once all the supported csi drivers can achieve this goal, we can deprecate/remove the volume expand controller or make it as a noop controller when starting the controller-manager. And the persistent volume binding controller don't need to set the related annotations anymore. We can do this in a follow-up PR. I don't want to include this change in this PR because the current csi drivers are not ready yet.
But the storage.alpha.kubernetes.io/migrated-plugins annotation is only used in k/k repo, so I removed it from the code along with portworx plugin. If needed, I can split this change into a separate PR.
This PR may require API review.
If so, when the changes are ready, complete the pre-review checklist and request an API review.
Status of requested reviews is tracked in the API Review project.
/test pull-kubernetes-unit-windows-master
/test pull-kubernetes-unit-windows-master
unrelated failure /test pull-kubernetes-unit-windows-master
/approve
/hold until get an approval from sig-storage
/cc @msau42 for api part
@carlory, can you please split it into two PRs? The plugin + feature gate removal should be easy to merge. A second PR with the annotation removal might need some discussion. Nobody should use the annotation, but we need to review it more thoroughly.
unrelated failure /test pull-kubernetes-unit-windows-master
@carlory, can you please split it into two PRs?
@jsafrane Done.
Thanks! /lgtm /approve
LGTM label has been added.
/triage accepted
/assign @liggitt
https://github.com/kubernetes/kubernetes/pull/135322/#discussion_r2623539271 is the only outstanding comment
New changes are detected. LGTM label has been removed.
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: carlory, dims, jsafrane Once this PR has been reviewed and has the lgtm label, please ask for approval from liggitt. For more information see the Code Review Process.
The full list of commands accepted by this bot can be found here.
- ~~OWNERS~~ [dims]
- ~~LICENSES/OWNERS~~ [dims]
- api/OWNERS
- ~~cmd/kube-controller-manager/OWNERS~~ [dims]
- ~~cmd/kubelet/OWNERS~~ [dims]
- pkg/apis/OWNERS
- ~~pkg/controller/volume/OWNERS~~ [dims,jsafrane]
- ~~pkg/features/OWNERS~~ [dims,jsafrane]
- ~~pkg/generated/openapi/OWNERS~~ [dims]
- ~~pkg/kubelet/OWNERS~~ [dims]
- ~~pkg/kubemark/OWNERS~~ [dims]
- ~~pkg/scheduler/OWNERS~~ [dims]
- ~~pkg/volume/OWNERS~~ [dims,jsafrane]
- ~~plugin/pkg/auth/authorizer/OWNERS~~ [dims]
- staging/src/k8s.io/api/OWNERS
- ~~staging/src/k8s.io/client-go/applyconfigurations/OWNERS~~ [dims]
- ~~test/compatibility_lifecycle/reference/OWNERS~~ [dims,jsafrane]
- ~~vendor/OWNERS~~ [dims]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
/hold cancel
/hold for https://github.com/kubernetes/enhancements/pull/5742
/test pull-kubernetes-e2e-kind-alpha-beta-features