kubernetes icon indicating copy to clipboard operation
kubernetes copied to clipboard

[1.36] Remove intree volume plugin portworx

Open carlory opened this issue 1 month ago • 19 comments

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.:


carlory avatar Nov 17 '25 02:11 carlory

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

k8s-ci-robot avatar Nov 17 '25 02:11 k8s-ci-robot

/test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce

carlory avatar Nov 17 '25 02:11 carlory

(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.

lmktfy avatar Nov 17 '25 02:11 lmktfy

/test pull-kubernetes-unit

carlory avatar Nov 17 '25 06:11 carlory

/test pull-kubernetes-unit /test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce

carlory avatar Nov 17 '25 06:11 carlory

/test pull-kubernetes-unit /test pull-kubernetes-e2e-kind /test pull-kubernetes-e2e-gce

carlory avatar Nov 17 '25 07:11 carlory

/pony party

dims avatar Nov 17 '25 15:11 dims

@dims: pony image

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.

k8s-ci-robot avatar Nov 17 '25 15:11 k8s-ci-robot

/uncc bad bot. I'm only in 1 of the 17 OWNERS files...

danwinship avatar Nov 17 '25 21:11 danwinship

/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.

carlory avatar Nov 28 '25 02:11 carlory

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.

k8s-triage-robot avatar Nov 28 '25 02:11 k8s-triage-robot

/test pull-kubernetes-unit-windows-master

carlory avatar Nov 28 '25 07:11 carlory

/test pull-kubernetes-unit-windows-master

carlory avatar Nov 28 '25 08:11 carlory

unrelated failure /test pull-kubernetes-unit-windows-master

carlory avatar Nov 28 '25 09:11 carlory

/approve

dims avatar Dec 02 '25 03:12 dims

/hold until get an approval from sig-storage

/cc @msau42 for api part

carlory avatar Dec 02 '25 03:12 carlory

@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.

jsafrane avatar Dec 04 '25 09:12 jsafrane

unrelated failure /test pull-kubernetes-unit-windows-master

carlory avatar Dec 05 '25 03:12 carlory

@carlory, can you please split it into two PRs?

@jsafrane Done.

carlory avatar Dec 05 '25 03:12 carlory

Thanks! /lgtm /approve

jsafrane avatar Dec 05 '25 14:12 jsafrane

LGTM label has been added.

Git tree hash: b5e6b5fdcc0fd27e827250281d1bef6b84ee4a1d

k8s-ci-robot avatar Dec 05 '25 14:12 k8s-ci-robot

/triage accepted

aramase avatar Dec 15 '25 17:12 aramase

/assign @liggitt

dims avatar Dec 15 '25 20:12 dims

https://github.com/kubernetes/kubernetes/pull/135322/#discussion_r2623539271 is the only outstanding comment

liggitt avatar Dec 16 '25 14:12 liggitt

New changes are detected. LGTM label has been removed.

k8s-ci-robot avatar Dec 18 '25 02:12 k8s-ci-robot

[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.

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

k8s-ci-robot avatar Dec 18 '25 02:12 k8s-ci-robot

/hold cancel

carlory avatar Dec 18 '25 02:12 carlory

/hold for https://github.com/kubernetes/enhancements/pull/5742

carlory avatar Dec 18 '25 02:12 carlory

/test pull-kubernetes-e2e-kind-alpha-beta-features

carlory avatar Dec 18 '25 03:12 carlory