Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
43abdb8
Update Compatibility session in README
sunnylovestiramisu Oct 24, 2025
cba05cb
Merge pull request #539 from sunnylovestiramisu/v1.34
k8s-ci-robot Oct 27, 2025
59a0f2c
Update README.md
kishen-v Nov 3, 2025
af378d6
Allow modify without resize support
nixpanic Nov 7, 2025
f51902a
Do not support VolumeExpand within ModifyControllerTest
nixpanic Nov 10, 2025
fe9e0f4
Merge pull request #545 from nixpanic/split-resize-modify
k8s-ci-robot Nov 11, 2025
c5bec27
Use credentials when calling ControllerModifyVolume
nixpanic Nov 7, 2025
9c8a388
Pass context from the ModifyController to Modifier.Modify()
nixpanic Dec 8, 2025
3c1ac92
Merge commit 'ef1e9ff9e4b222749b9d869d05d19de3ffd5ea90' into release-…
nixpanic Dec 9, 2025
ef1e9ff
Squashed 'release-tools/' changes from 74502e54..bbe5e547
nixpanic Dec 9, 2025
34546a9
Merge pull request #549 from nixpanic/release-tools/k8s-1.34
k8s-ci-robot Dec 9, 2025
77ead51
Merge pull request #544 from nixpanic/ControllerModifyVolume/secrets
k8s-ci-robot Dec 9, 2025
2b098ee
Fix modifyvolume flake
gnufied Dec 9, 2025
bcdc4d6
Merge pull request #550 from gnufied/fix-modify-volume-flake
k8s-ci-robot Dec 10, 2025
9982d04
Merge pull request #543 from kishen-v/patch-1
k8s-ci-robot Jan 7, 2026
bd8f057
Merge commit '3e486ef0222415d5ba3722c11db8fa518f10b2df' into k8s-bump
dfajmon Jan 12, 2026
3e486ef
Squashed 'release-tools/' changes from bbe5e547..d6846630
dfajmon Jan 12, 2026
3384680
bump dependencies to kubernetes v1.35
dfajmon Jan 12, 2026
d1e7825
Merge pull request #552 from dfajmon/k8s-bump
k8s-ci-robot Jan 12, 2026
c04ff35
update go.mod module to v2
qJkee Jan 13, 2026
c561771
Merge pull request #553 from qJkee/master
k8s-ci-robot Jan 13, 2026
664e98e
Fix race condition in finalErrorPVCs map access
torredil Jan 27, 2026
a4628d3
Merge pull request #557 from torredil/fix-finalerrorpvcs-race-condition
k8s-ci-robot Jan 27, 2026
4de8665
Squashed 'release-tools/' changes from d6846630..1e81e752
jsafrane Feb 6, 2026
f8f51d1
Merge commit '4de8665f964b81cff84fdd32399b516cfd659393' into go-1.25.7
jsafrane Feb 6, 2026
e943f18
Merge pull request #563 from jsafrane/go-1.25.7
k8s-ci-robot Feb 6, 2026
9318280
Add changelog for 2.1.0
gnufied Feb 12, 2026
aa89854
Merge pull request #564 from gnufied/add-changelog-201
k8s-ci-robot Feb 12, 2026
4caad83
Merge remote-tracking branch 'openshift/master' into rebase-v2.1.0
dfajmon Mar 9, 2026
a91a688
UPSTREAM: <carry>: Add OpenShift files
mpatlasov Apr 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
147 changes: 147 additions & 0 deletions CHANGELOG/CHANGELOG-2.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
## Release notes for 2.1.0

[Documentation](https://kubernetes-csi.github.io)

# Changelog since 2.0.0

## Changes by Kind

### Design

- Users who want to use newest version of this package must modify their go.mod file and use

https://github.com/kubernetes-csi/external-resizer/v2

instead of

https://github.com/kubernetes-csi/external-resizer

and update import paths in the code accordingly (#553, @qJkee)

### Feature

- A StorageClass can use `csi.storage.k8s.io/controller-modify-secret-name` and `csi.storage.k8s.io/controller-modify-secret-namespace` to reference the credentials that should be used to modify a volume according to the parameters of a VolumeAttributeClass. In absence of these credentials, the credentials of `controller-expand-secret`are used as a fallback. (#544, @nixpanic)
- CSI drivers can now implement the `MODIFY_VOLUME` capability without needing to implement the `EXPAND_VOLUME` capability. (#545, @nixpanic)


### Bug or Regression

- Fixed a race condition that caused csi-resizer to crash with "concurrent map writes" when multiple resize operations failed simultaneously. (#557, @torredil)
- Updated go version to fix CVE-2025-68121. (#563, @jsafrane)

### Other (Cleanup or Flake)

- Bump dependencies to kubernetes v1.35 (#552, @dfajmon)

## Dependencies

### Added
- github.com/Masterminds/semver/v3: [v3.4.0](https://github.com/Masterminds/semver/tree/v3.4.0)
- github.com/cenkalti/backoff/v5: [v5.0.3](https://github.com/cenkalti/backoff/tree/v5.0.3)
- github.com/go-openapi/swag/cmdutils: [v0.25.4](https://github.com/go-openapi/swag/tree/cmdutils/v0.25.4)
- github.com/go-openapi/swag/conv: [v0.25.4](https://github.com/go-openapi/swag/tree/conv/v0.25.4)
- github.com/go-openapi/swag/fileutils: [v0.25.4](https://github.com/go-openapi/swag/tree/fileutils/v0.25.4)
- github.com/go-openapi/swag/jsonname: [v0.25.4](https://github.com/go-openapi/swag/tree/jsonname/v0.25.4)
- github.com/go-openapi/swag/jsonutils/fixtures_test: [v0.25.4](https://github.com/go-openapi/swag/tree/jsonutils/fixtures_test/v0.25.4)
- github.com/go-openapi/swag/jsonutils: [v0.25.4](https://github.com/go-openapi/swag/tree/jsonutils/v0.25.4)
- github.com/go-openapi/swag/loading: [v0.25.4](https://github.com/go-openapi/swag/tree/loading/v0.25.4)
- github.com/go-openapi/swag/mangling: [v0.25.4](https://github.com/go-openapi/swag/tree/mangling/v0.25.4)
- github.com/go-openapi/swag/netutils: [v0.25.4](https://github.com/go-openapi/swag/tree/netutils/v0.25.4)
- github.com/go-openapi/swag/stringutils: [v0.25.4](https://github.com/go-openapi/swag/tree/stringutils/v0.25.4)
- github.com/go-openapi/swag/typeutils: [v0.25.4](https://github.com/go-openapi/swag/tree/typeutils/v0.25.4)
- github.com/go-openapi/swag/yamlutils: [v0.25.4](https://github.com/go-openapi/swag/tree/yamlutils/v0.25.4)
- github.com/go-openapi/testify/enable/yaml/v2: [v2.0.2](https://github.com/go-openapi/testify/tree/enable/yaml/v2/v2.0.2)
- github.com/go-openapi/testify/v2: [v2.0.2](https://github.com/go-openapi/testify/tree/v2.0.2)
- golang.org/x/tools/go/expect: v0.1.1-deprecated
- golang.org/x/tools/go/packages/packagestest: v0.1.1-deprecated
- gonum.org/v1/gonum: v0.16.0

### Changed
- cel.dev/expr: v0.24.0 → v0.25.1
- cloud.google.com/go/compute/metadata: v0.6.0 → v0.9.0
- github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: [v1.26.0 → v1.30.0](https://github.com/GoogleCloudPlatform/opentelemetry-operations-go/compare/detectors/gcp/v1.26.0...detectors/gcp/v1.30.0)
- github.com/alecthomas/units: [b94a6e3 → 0f3dac3](https://github.com/alecthomas/units/compare/b94a6e3...0f3dac3)
- github.com/antlr4-go/antlr/v4: [v4.13.0 → v4.13.1](https://github.com/antlr4-go/antlr/compare/v4.13.0...v4.13.1)
- github.com/cncf/xds/go: [2f00578 → 0feb691](https://github.com/cncf/xds/compare/2f00578...0feb691)
- github.com/coreos/go-systemd/v22: [v22.5.0 → v22.6.0](https://github.com/coreos/go-systemd/compare/v22.5.0...v22.6.0)
- github.com/emicklei/go-restful/v3: [v3.12.2 → v3.13.0](https://github.com/emicklei/go-restful/compare/v3.12.2...v3.13.0)
- github.com/envoyproxy/go-control-plane/envoy: [v1.32.4 → v1.35.0](https://github.com/envoyproxy/go-control-plane/compare/envoy/v1.32.4...envoy/v1.35.0)
- github.com/envoyproxy/go-control-plane: [v0.13.4 → 75eaa19](https://github.com/envoyproxy/go-control-plane/compare/v0.13.4...75eaa19)
- github.com/go-jose/go-jose/v4: [v4.0.4 → v4.1.3](https://github.com/go-jose/go-jose/compare/v4.0.4...v4.1.3)
- github.com/go-logr/logr: [v1.4.2 → v1.4.3](https://github.com/go-logr/logr/compare/v1.4.2...v1.4.3)
- github.com/go-openapi/jsonpointer: [v0.21.0 → v0.22.4](https://github.com/go-openapi/jsonpointer/compare/v0.21.0...v0.22.4)
- github.com/go-openapi/jsonreference: [v0.21.0 → v0.21.4](https://github.com/go-openapi/jsonreference/compare/v0.21.0...v0.21.4)
- github.com/go-openapi/swag: [v0.23.0 → v0.25.4](https://github.com/go-openapi/swag/compare/v0.23.0...v0.25.4)
- github.com/godbus/dbus/v5: [v5.0.4 → v5.1.0](https://github.com/godbus/dbus/compare/v5.0.4...v5.1.0)
- github.com/golang-jwt/jwt/v5: [v5.2.2 → v5.3.0](https://github.com/golang-jwt/jwt/compare/v5.2.2...v5.3.0)
- github.com/golang/glog: [v1.2.4 → v1.2.5](https://github.com/golang/glog/compare/v1.2.4...v1.2.5)
- github.com/google/cel-go: [v0.26.0 → v0.26.1](https://github.com/google/cel-go/compare/v0.26.0...v0.26.1)
- github.com/google/gnostic-models: [v0.7.0 → v0.7.1](https://github.com/google/gnostic-models/compare/v0.7.0...v0.7.1)
- github.com/google/pprof: [d1b30fe → 27863c8](https://github.com/google/pprof/compare/d1b30fe...27863c8)
- github.com/grpc-ecosystem/grpc-gateway/v2: [v2.26.3 → v2.27.4](https://github.com/grpc-ecosystem/grpc-gateway/compare/v2.26.3...v2.27.4)
- github.com/kubernetes-csi/csi-lib-utils: [v0.22.0 → v0.23.1](https://github.com/kubernetes-csi/csi-lib-utils/compare/v0.22.0...v0.23.1)
- github.com/onsi/ginkgo/v2: [v2.21.0 → v2.27.2](https://github.com/onsi/ginkgo/compare/v2.21.0...v2.27.2)
- github.com/onsi/gomega: [v1.35.1 → v1.38.2](https://github.com/onsi/gomega/compare/v1.35.1...v1.38.2)
- github.com/prometheus/client_golang: [v1.22.0 → v1.23.2](https://github.com/prometheus/client_golang/compare/v1.22.0...v1.23.2)
- github.com/prometheus/client_model: [v0.6.1 → v0.6.2](https://github.com/prometheus/client_model/compare/v0.6.1...v0.6.2)
- github.com/prometheus/common: [v0.62.0 → v0.67.5](https://github.com/prometheus/common/compare/v0.62.0...v0.67.5)
- github.com/prometheus/procfs: [v0.15.1 → v0.19.2](https://github.com/prometheus/procfs/compare/v0.15.1...v0.19.2)
- github.com/rogpeppe/go-internal: [v1.13.1 → v1.14.1](https://github.com/rogpeppe/go-internal/compare/v1.13.1...v1.14.1)
- github.com/spf13/cobra: [v1.9.1 → v1.10.2](https://github.com/spf13/cobra/compare/v1.9.1...v1.10.2)
- github.com/spf13/pflag: [v1.0.6 → v1.0.10](https://github.com/spf13/pflag/compare/v1.0.6...v1.0.10)
- github.com/spiffe/go-spiffe/v2: [v2.5.0 → v2.6.0](https://github.com/spiffe/go-spiffe/compare/v2.5.0...v2.6.0)
- github.com/stoewer/go-strcase: [v1.3.0 → v1.3.1](https://github.com/stoewer/go-strcase/compare/v1.3.0...v1.3.1)
- github.com/stretchr/testify: [v1.10.0 → v1.11.1](https://github.com/stretchr/testify/compare/v1.10.0...v1.11.1)
- go.etcd.io/bbolt: v1.4.2 → v1.4.3
- go.etcd.io/etcd/api/v3: v3.6.4 → v3.6.7
- go.etcd.io/etcd/client/pkg/v3: v3.6.4 → v3.6.7
- go.etcd.io/etcd/client/v3: v3.6.4 → v3.6.7
- go.etcd.io/etcd/pkg/v3: v3.6.4 → v3.6.5
- go.etcd.io/etcd/server/v3: v3.6.4 → v3.6.5
- go.opentelemetry.io/auto/sdk: v1.1.0 → v1.2.1
- go.opentelemetry.io/contrib/detectors/gcp: v1.34.0 → v1.38.0
- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc: v0.60.0 → v0.64.0
- go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp: v0.58.0 → v0.64.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc: v1.34.0 → v1.39.0
- go.opentelemetry.io/otel/exporters/otlp/otlptrace: v1.34.0 → v1.39.0
- go.opentelemetry.io/otel/metric: v1.35.0 → v1.39.0
- go.opentelemetry.io/otel/sdk/metric: v1.34.0 → v1.39.0
- go.opentelemetry.io/otel/sdk: v1.34.0 → v1.39.0
- go.opentelemetry.io/otel/trace: v1.35.0 → v1.39.0
- go.opentelemetry.io/otel: v1.35.0 → v1.39.0
- go.opentelemetry.io/proto/otlp: v1.5.0 → v1.9.0
- go.uber.org/zap: v1.27.0 → v1.27.1
- go.yaml.in/yaml/v2: v2.4.2 → v2.4.3
- golang.org/x/crypto: v0.37.0 → v0.46.0
- golang.org/x/exp: 8a7402a → 944ab1f
- golang.org/x/mod: v0.20.0 → v0.31.0
- golang.org/x/net: v0.39.0 → v0.48.0
- golang.org/x/oauth2: v0.27.0 → v0.34.0
- golang.org/x/sync: v0.13.0 → v0.19.0
- golang.org/x/sys: v0.32.0 → v0.40.0
- golang.org/x/term: v0.31.0 → v0.39.0
- golang.org/x/text: v0.24.0 → v0.33.0
- golang.org/x/time: v0.9.0 → v0.14.0
- golang.org/x/tools: v0.26.0 → v0.40.0
- google.golang.org/genproto/googleapis/api: a0af3ef → 0a764e5
- google.golang.org/genproto/googleapis/rpc: a0af3ef → 0a764e5
- google.golang.org/grpc: v1.72.1 → v1.78.0
- google.golang.org/protobuf: v1.36.5 → v1.36.11
- gopkg.in/evanphx/json-patch.v4: v4.12.0 → v4.13.0
- k8s.io/api: v0.34.0 → v0.35.0
- k8s.io/apimachinery: v0.34.0 → v0.35.0
- k8s.io/apiserver: v0.34.0 → v0.35.0
- k8s.io/client-go: v0.34.0 → v0.35.0
- k8s.io/component-base: v0.34.0 → v0.35.0
- k8s.io/csi-translation-lib: v0.34.0 → v0.35.0
- k8s.io/kms: v0.34.0 → v0.35.0
- k8s.io/kube-openapi: f3f2b99 → 4e65d59
- k8s.io/utils: 4c0f3b2 → 914a6e7
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.31.2 → v0.34.0
- sigs.k8s.io/json: cfa47c3 → 2d32026
- sigs.k8s.io/structured-merge-diff/v6: v6.3.0 → v6.3.1

### Removed
- github.com/zeebo/errs: [v1.4.0](https://github.com/zeebo/errs/tree/v1.4.0)
- gopkg.in/yaml.v2: v2.4.0
- sigs.k8s.io/structured-merge-diff/v4: v4.6.0
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ This information reflects the head of this branch.

| Compatible with CSI Version | Container Image | [Min K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#minimum-version) | [Recommended K8s Version](https://kubernetes-csi.github.io/docs/kubernetes-compatibility.html#recommended-version) |
|---------------------------------------------------------------------------------------------|------------------------------------|--------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
| [CSI Spec v1.10.0](https://github.com/container-storage-interface/spec/releases/tag/v1.5.0) | k8s.gcr.io/sig-storage/csi-resizer | 1.16 | 1.32 |
| [CSI Spec v1.12.0](https://github.com/container-storage-interface/spec/releases/tag/v1.12.0) | k8s.gcr.io/sig-storage/csi-resizer | 1.16 | 1.34 |

## Feature status

Expand Down
72 changes: 49 additions & 23 deletions cmd/csi-resizer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package main

import (
"context"
"errors"
"flag"
"fmt"
"net/http"
Expand All @@ -27,7 +28,7 @@ import (
"time"

"github.com/kubernetes-csi/csi-lib-utils/metrics"
"github.com/kubernetes-csi/external-resizer/pkg/csi"
"github.com/kubernetes-csi/external-resizer/v2/pkg/csi"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
Expand All @@ -36,12 +37,12 @@ import (

"github.com/kubernetes-csi/csi-lib-utils/leaderelection"
"github.com/kubernetes-csi/csi-lib-utils/standardflags"
"github.com/kubernetes-csi/external-resizer/pkg/controller"
"github.com/kubernetes-csi/external-resizer/pkg/features"
"github.com/kubernetes-csi/external-resizer/pkg/modifier"
"github.com/kubernetes-csi/external-resizer/pkg/modifycontroller"
"github.com/kubernetes-csi/external-resizer/pkg/resizer"
"github.com/kubernetes-csi/external-resizer/pkg/util"
"github.com/kubernetes-csi/external-resizer/v2/pkg/controller"
"github.com/kubernetes-csi/external-resizer/v2/pkg/features"
"github.com/kubernetes-csi/external-resizer/v2/pkg/modifier"
"github.com/kubernetes-csi/external-resizer/v2/pkg/modifycontroller"
"github.com/kubernetes-csi/external-resizer/v2/pkg/resizer"
"github.com/kubernetes-csi/external-resizer/v2/pkg/util"
csitrans "k8s.io/csi-translation-lib"

"k8s.io/apimachinery/pkg/runtime"
Expand Down Expand Up @@ -207,7 +208,9 @@ func main() {
*timeout,
kubeClient,
driverName)
if err != nil {
if err != nil && errors.Is(err, resizer.ResizeNotSupportErr) {
klog.InfoS("Resize not supported", "message", err)
} else if err != nil {
klog.ErrorS(err, "Failed to create CSI resizer")
klog.FlushAndExit(klog.ExitFlushTimeout, 1)
}
Expand All @@ -219,11 +222,17 @@ func main() {
informerFactory,
*extraModifyMetadata,
driverName)
if err != nil {
if err != nil && errors.Is(err, modifier.ModifyNotSupportErr) {
klog.InfoS("Modify not supported", "message", err)
} else if err != nil {
klog.ErrorS(err, "Failed to create CSI modifier")
klog.FlushAndExit(klog.ExitFlushTimeout, 1)
}

if csiResizer == nil && csiModifier == nil {
klog.Fatalf("CSI driver does not support resize nor modify")
}

// Start HTTP server for metrics + leader election healthz
if addr != "" {
metricsManager.RegisterToServer(mux, *metricsPath)
Expand All @@ -238,17 +247,30 @@ func main() {
}()
}

resizerName := csiResizer.Name()
rc := controller.NewResizeController(resizerName, csiResizer, kubeClient, *resyncPeriod, informerFactory,
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax),
*handleVolumeInUseError, *retryIntervalMax)
leaseHolder := ""
var rc controller.ResizeController
if csiResizer != nil {
resizerName := csiResizer.Name()
rc = controller.NewResizeController(resizerName, csiResizer, kubeClient, *resyncPeriod, informerFactory,
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax),
*handleVolumeInUseError, *retryIntervalMax)

leaseHolder = resizerName
}

modifierName := csiModifier.Name()
var mc modifycontroller.ModifyController
// Add modify controller only if the feature gate is enabled
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
mc = modifycontroller.NewModifyController(modifierName, csiModifier, kubeClient, *resyncPeriod, *retryIntervalMax, *extraModifyMetadata, informerFactory,
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax))
if csiModifier != nil {
modifierName := csiModifier.Name()
// Add modify controller only if the feature gate is enabled
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
mc = modifycontroller.NewModifyController(modifierName, csiModifier, kubeClient, *resyncPeriod,
*retryIntervalMax, *extraModifyMetadata, informerFactory,
workqueue.NewTypedItemExponentialFailureRateLimiter[string](*retryIntervalStart, *retryIntervalMax))
}

if leaseHolder == "" {
leaseHolder = modifierName
}
}

// handle SIGTERM and SIGINT by cancelling the context.
Expand Down Expand Up @@ -278,16 +300,20 @@ func main() {
informerFactory.Start(ctx.Done())
if utilfeature.DefaultFeatureGate.Enabled(features.ReleaseLeaderElectionOnExit) {
var wg sync.WaitGroup
go rc.Run(*workers, controllerCtx, &wg)
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
if rc != nil {
go rc.Run(*workers, controllerCtx, &wg)
}
if mc != nil && utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
go mc.Run(*workers, controllerCtx, &wg)
}
<-controllerCtx.Done()
wg.Wait()
terminate()
} else {
go rc.Run(*workers, ctx, nil)
if utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
if rc != nil {
go rc.Run(*workers, ctx, nil)
}
if mc != nil && utilfeature.DefaultFeatureGate.Enabled(features.VolumeAttributesClass) {
go mc.Run(*workers, ctx, nil)
}
<-ctx.Done()
Expand All @@ -297,7 +323,7 @@ func main() {
if !*enableLeaderElection {
run(ctx)
} else {
lockName := "external-resizer-" + util.SanitizeName(resizerName)
lockName := "external-resizer-" + util.SanitizeName(leaseHolder)
leKubeClient, err := kubernetes.NewForConfig(config)
if err != nil {
klog.ErrorS(err, "Failed to create leKubeClient")
Expand Down
Loading