Skip to content

Conversation

@jsafrane
Copy link

Upstream changelogs

https://github.com/kubernetes-csi/external-resizer/blob/release-2.0/CHANGELOG/CHANGELOG-2.0.md

Summary of changes

Major features and breaking changes between v1.14.0 and v2.0.0:

  • VolumeAttributesClass promoted to GA: The VolumeAttributeClass API has been promoted to stable (storage/v1) starting in Kubernetes 1.34.0. This requires Kubernetes 1.34.0+ for full support.
  • Volume modification rollback support: Added ability to roll back when modify operations fail.
  • PVC annotation for skipping node expansion: PVCs that don't require node expansion are now annotated so kubelet can skip them.
  • Kubernetes dependencies updated to v1.34.0: All Kubernetes dependencies have been updated to v1.34.0.
  • CSI spec updated to v1.12.0: The volume modification feature is now stable in the CSI specification.

Carried commits

From commits.tsv analysis:

  1. 7065706 - UPSTREAM: <carry>: Add OpenShift files - cherry-pick (with squashed updates)

    • This is the persistent carry that contains all OpenShift-specific files
    • Squashed commit f893c39 (4.21 image updates) into this commit
  2. abc33ad - UPSTREAM: 521: Requeue PVC over PV creation - drop

  3. f893c39 - UPSTREAM: <carry>: Updating ose-csi-external-resizer-container image to be consistent with ART for 4.21 - squash

    • Modifies only OpenShift-specific files (.ci-operator.yaml, Dockerfile.openshift)
    • Squashed into the "Add OpenShift files" commit to minimize carry commits

Diff to upstream: kubernetes-csi/external-resizer@v2.0.0...jsafrane:external-resizer:rebase-v2.0.0

Previous rebase: #171

gnufied and others added 30 commits April 25, 2025 17:08
…sion-if-not-required

Disable node expansion if not required
`defer ctx.Done()` does not actually cancel the context.
So it will be clear which VAC the status is describing.

Specifically, we now set target for Pending status to indicate which VAC we are waiting for.
always overwrite TargetVolumeAttributesClassName when setting Status
…-faster

Restart external-resizer faster by releasing leader election lease on sigterm
There's no logic to requeue over PV creation,
which means that if we return over a PV not being found,
the resize could take up to resyncPeriod.

Signed-off-by: Alex Kalenyuk <akalenyu@redhat.com>
Fix version of kubernetes for alpha version of ReleaseLeaderElectionOnExit fg
5f38a907 Merge pull request kubernetes-csi#282 from rhrmo/update-go-1.24.6
579f6242 Update go to 1.24.6
74e066a8 Merge pull request kubernetes-csi#279 from Aishwarya-Hebbar/update-csi-prow-version
6f236be7 Update CSI prow driver version to v1.17.0
0ee55894 Merge pull request kubernetes-csi#280 from xing-yang/update_go_1.24.4
9af10153 update to go 1.24.4
f5fec3e3 Merge pull request kubernetes-csi#275 from chrishenzie/emeritus
c5d285db Remove chrishenzie from kubernetes-csi-reviewers

git-subtree-dir: release-tools
git-subtree-split: 5f38a907597230563f5e2213aea116acdd9d86bc
Update kubernetes dependencies to v1.34.0
Also fix the test. Previous test does not actually cover the relevant code path.
extraModifyMetadata should not modify VAC in informer
fix wrong error is used when checking final error.

map is not safe for concurrent read/write from multiple worker. Also fixed that.

Added related tests.
We should keep retry the previously specified target.
Support rollback to VAC A if modifying from A to B failed with a final error.
This works just like we modifying it again to C on final error.

The significant changes in the sync logic:
- Always retry if pvc.Status.ModifyVolumeStatus is not nil, which means the
  last transation does not finish successfully.
- Keep reconciling to the previous target if spec is rolled back to nil, until
  it succeeds or we get an infeasible error. Then we just leave it at its
  current state and stop reconciling for it, since user may not care about it
  now.
huww98 and others added 21 commits September 30, 2025 02:30
Make it harder to abuse VAC quota by change spec to an non-existing VAC when the volume is partially modified. Basically reverting 6c8c10f.
to determine the default value of VAC feature gate
74502e54 Merge pull request kubernetes-csi#278 from liangyuanpeng/migrate_k8s_testimages
53344305 Merge pull request kubernetes-csi#281 from kubernetes-csi/dependabot/github_actions/actions/checkout-5
458ce146 Bump actions/checkout from 4 to 5
5ec1a52b use gcr.io/k8s-staging-test-infra instead of gcr.io/k8s-testimages

git-subtree-dir: release-tools
git-subtree-split: 74502e544bc6a17820892c0d490e8f0b59462998
TargetVolumeAttributesClassName is no longer valid for Pending status because the change is reverted in d03a1e7
remove TargetVolumeAttributesClassName change from CHANGELOG
@jsafrane jsafrane changed the title Rebase to v2.0.0 for OCP 4.21 STOR-2586: Rebase to v2.0.0 for OCP 4.21 Oct 27, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Oct 27, 2025
@openshift-ci-robot
Copy link

openshift-ci-robot commented Oct 27, 2025

@jsafrane: This pull request references STOR-2586 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

In response to this:

Upstream changelogs

https://github.com/kubernetes-csi/external-resizer/blob/release-2.0/CHANGELOG/CHANGELOG-2.0.md

Summary of changes

Major features and breaking changes between v1.14.0 and v2.0.0:

  • VolumeAttributesClass promoted to GA: The VolumeAttributeClass API has been promoted to stable (storage/v1) starting in Kubernetes 1.34.0. This requires Kubernetes 1.34.0+ for full support.
  • Volume modification rollback support: Added ability to roll back when modify operations fail.
  • PVC annotation for skipping node expansion: PVCs that don't require node expansion are now annotated so kubelet can skip them.
  • Kubernetes dependencies updated to v1.34.0: All Kubernetes dependencies have been updated to v1.34.0.
  • CSI spec updated to v1.12.0: The volume modification feature is now stable in the CSI specification.

Carried commits

From commits.tsv analysis:

  1. 7065706 - UPSTREAM: <carry>: Add OpenShift files - cherry-pick (with squashed updates)
  • This is the persistent carry that contains all OpenShift-specific files
  • Squashed commit f893c39 (4.21 image updates) into this commit
  1. abc33ad - UPSTREAM: 521: Requeue PVC over PV creation - drop
  1. f893c39 - UPSTREAM: <carry>: Updating ose-csi-external-resizer-container image to be consistent with ART for 4.21 - squash
  • Modifies only OpenShift-specific files (.ci-operator.yaml, Dockerfile.openshift)
  • Squashed into the "Add OpenShift files" commit to minimize carry commits

Diff to upstream: kubernetes-csi/external-resizer@v2.0.0...jsafrane:external-resizer:rebase-v2.0.0

Previous rebase: #171

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 openshift-eng/jira-lifecycle-plugin repository.

@jsafrane
Copy link
Author

cc @openshift/storage

@openshift-ci openshift-ci bot requested review from RomanBednar and rhrmo October 27, 2025 16:41
@openshift-ci
Copy link

openshift-ci bot commented Oct 27, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jsafrane

The full list of commands accepted by this bot can be found here.

The pull request process is described 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

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 27, 2025
@openshift-ci
Copy link

openshift-ci bot commented Oct 27, 2025

@jsafrane: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/unit dbee8c0 link true /test unit

Full PR test history. Your PR dashboard.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.