Skip to content

Commit 5ce3d14

Browse files
author
shiftstack-merge-bot
committed
2 parents 2eb5c10 + 4c12eb4 commit 5ce3d14

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2468
-458
lines changed

.github/workflows/trivy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Install go
1616
uses: actions/setup-go@v5
1717
with:
18-
go-version: 1.23.6
18+
go-version: 1.24.2
1919

2020
- name: Build an image from Dockerfile
2121
run: |
4 Bytes
Binary file not shown.

charts/latest/csi-driver-nfs/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ image:
1111
pullPolicy: IfNotPresent
1212
csiResizer:
1313
repository: registry.k8s.io/sig-storage/csi-resizer
14-
tag: v1.13.1
14+
tag: v1.13.2
1515
pullPolicy: IfNotPresent
1616
csiSnapshotter:
1717
repository: registry.k8s.io/sig-storage/csi-snapshotter
18-
tag: v8.2.0
18+
tag: v8.2.1
1919
pullPolicy: IfNotPresent
2020
livenessProbe:
2121
repository: registry.k8s.io/sig-storage/livenessprobe
@@ -27,7 +27,7 @@ image:
2727
pullPolicy: IfNotPresent
2828
externalSnapshotter:
2929
repository: registry.k8s.io/sig-storage/snapshot-controller
30-
tag: v8.2.0
30+
tag: v8.2.1
3131
pullPolicy: IfNotPresent
3232

3333
serviceAccount:

deploy/csi-nfs-controller.yaml

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,18 @@ spec:
4343
- "-v=2"
4444
- "--csi-address=$(ADDRESS)"
4545
- "--leader-election"
46-
- "--leader-election-namespace=kube-system"
46+
- "--leader-election-namespace=$(POD_NAMESPACE)"
4747
- "--extra-create-metadata=true"
4848
- "--feature-gates=HonorPVReclaimPolicy=true"
4949
- "--timeout=1200s"
5050
- "--retry-interval-max=30m"
5151
env:
5252
- name: ADDRESS
5353
value: /csi/csi.sock
54+
- name: POD_NAMESPACE
55+
valueFrom:
56+
fieldRef:
57+
fieldPath: metadata.namespace
5458
volumeMounts:
5559
- mountPath: /csi
5660
name: socket-dir
@@ -65,16 +69,20 @@ spec:
6569
drop:
6670
- ALL
6771
- name: csi-resizer
68-
image: registry.k8s.io/sig-storage/csi-resizer:v1.13.1
72+
image: registry.k8s.io/sig-storage/csi-resizer:v1.13.2
6973
args:
7074
- "-csi-address=$(ADDRESS)"
7175
- "-v=2"
7276
- "-leader-election"
73-
- "--leader-election-namespace=kube-system"
77+
- "--leader-election-namespace=$(POD_NAMESPACE)"
7478
- '-handle-volume-inuse-error=false'
7579
env:
7680
- name: ADDRESS
7781
value: /csi/csi.sock
82+
- name: POD_NAMESPACE
83+
valueFrom:
84+
fieldRef:
85+
fieldPath: metadata.namespace
7886
volumeMounts:
7987
- name: socket-dir
8088
mountPath: /csi
@@ -89,17 +97,21 @@ spec:
8997
drop:
9098
- ALL
9199
- name: csi-snapshotter
92-
image: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0
100+
image: registry.k8s.io/sig-storage/csi-snapshotter:v8.2.1
93101
args:
94102
- "--v=2"
95103
- "--csi-address=$(ADDRESS)"
96-
- "--leader-election-namespace=kube-system"
104+
- "--leader-election-namespace=$(POD_NAMESPACE)"
97105
- "--leader-election"
98106
- "--timeout=1200s"
99107
- "--retry-interval-max=30m"
100108
env:
101109
- name: ADDRESS
102110
value: /csi/csi.sock
111+
- name: POD_NAMESPACE
112+
valueFrom:
113+
fieldRef:
114+
fieldPath: metadata.namespace
103115
imagePullPolicy: IfNotPresent
104116
volumeMounts:
105117
- name: socket-dir

deploy/csi-snapshot-controller.yaml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,16 @@ spec:
5252
effect: "NoSchedule"
5353
containers:
5454
- name: snapshot-controller
55-
image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.0
55+
image: registry.k8s.io/sig-storage/snapshot-controller:v8.2.1
5656
args:
5757
- "--v=2"
5858
- "--leader-election=true"
59-
- "--leader-election-namespace=kube-system"
59+
- "--leader-election-namespace=$(POD_NAMESPACE)"
60+
env:
61+
- name: POD_NAMESPACE
62+
valueFrom:
63+
fieldRef:
64+
fieldPath: metadata.namespace
6065
resources:
6166
limits:
6267
memory: 300Mi

docs/driver-parameters.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ mountOptions | mount options separated by comma during snapshot creation, e.g. `
4343
- `${pvc.metadata.namespace}`
4444
- `${pv.metadata.name}`
4545

46-
#### provide `mountOptions` for `DeleteVolume`
47-
> since `DeleteVolumeRequest` does not provide `mountOptions`, following is the workaround to provide `mountOptions` for `DeleteVolume`, check details [here](https://github.com/kubernetes-csi/csi-driver-nfs/issues/260)
46+
#### provide `mountOptions` for `DeleteVolume` and `DeleteSnapshot`
47+
> since `DeleteVolumeRequest` and `DeleteSnapshotRequest` does not provide `mountOptions`, following is the workaround to provide `mountOptions` for `DeleteVolume` and `DeleteSnapshot`, check details [here](https://github.com/kubernetes-csi/csi-driver-nfs/issues/260)
4848
- create a secret with `mountOptions`
4949
```console
5050
kubectl create secret generic mount-options --from-literal mountOptions="nfsvers=3,hard"
@@ -67,4 +67,17 @@ volumeBindingMode: Immediate
6767
allowVolumeExpansion: true
6868
mountOptions:
6969
- nfsvers=4.1
70+
```
71+
- define a storage class with `csi.storage.k8s.io/snapshotter-secret-name` and `csi.storage.k8s.io/snapshotter-secret-namespace` setting:
72+
```yaml
73+
apiVersion: snapshot.storage.k8s.io/v1
74+
kind: VolumeSnapshotClass
75+
metadata:
76+
name: csi-nfs-snapclass
77+
driver: nfs.csi.k8s.io
78+
deletionPolicy: Delete
79+
parameters:
80+
# csi.storage.k8s.io/snapshotter-secret is only needed for providing mountOptions in DeleteSnapshot
81+
csi.storage.k8s.io/snapshotter-secret-name: "mount-options"
82+
csi.storage.k8s.io/snapshotter-secret-namespace: "default"
7083
```

go.mod

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ require (
99
github.com/onsi/gomega v1.37.0
1010
github.com/pborman/uuid v1.2.1
1111
github.com/stretchr/testify v1.10.0
12-
golang.org/x/net v0.39.0
13-
google.golang.org/grpc v1.71.1
12+
go.uber.org/goleak v1.3.0
13+
golang.org/x/net v0.40.0
14+
google.golang.org/grpc v1.72.1
1415
google.golang.org/protobuf v1.36.6
1516
k8s.io/api v0.31.6
1617
k8s.io/apimachinery v0.31.6
@@ -103,19 +104,19 @@ require (
103104
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
104105
go.uber.org/multierr v1.11.0 // indirect
105106
go.uber.org/zap v1.26.0 // indirect
106-
golang.org/x/crypto v0.37.0 // indirect
107+
golang.org/x/crypto v0.38.0 // indirect
107108
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect
108109
golang.org/x/mod v0.24.0
109-
golang.org/x/oauth2 v0.25.0 // indirect
110-
golang.org/x/sync v0.13.0 // indirect
111-
golang.org/x/sys v0.32.0 // indirect
112-
golang.org/x/term v0.31.0 // indirect
113-
golang.org/x/text v0.24.0 // indirect
110+
golang.org/x/oauth2 v0.26.0 // indirect
111+
golang.org/x/sync v0.14.0 // indirect
112+
golang.org/x/sys v0.33.0 // indirect
113+
golang.org/x/term v0.32.0 // indirect
114+
golang.org/x/text v0.25.0 // indirect
114115
golang.org/x/time v0.3.0 // indirect
115116
golang.org/x/tools v0.31.0 // indirect
116117
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect
117-
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 // indirect
118-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
118+
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a // indirect
119+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a // indirect
119120
gopkg.in/inf.v0 v0.9.1 // indirect
120121
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
121122
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -423,8 +423,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
423423
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
424424
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
425425
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
426-
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
427-
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
426+
golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8=
427+
golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw=
428428
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
429429
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
430430
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -468,23 +468,23 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
468468
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
469469
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
470470
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
471-
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
472-
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
471+
golang.org/x/net v0.40.0 h1:79Xs7wF06Gbdcg4kdCCIQArK11Z1hr5POQ6+fIYHNuY=
472+
golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds=
473473
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
474474
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
475475
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
476476
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
477-
golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70=
478-
golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
477+
golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
478+
golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
479479
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
480480
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
481481
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
482482
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
483483
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
484484
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
485485
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
486-
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
487-
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
486+
golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
487+
golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
488488
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
489489
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
490490
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -506,16 +506,16 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
506506
golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
507507
golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
508508
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
509-
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
510-
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
511-
golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o=
512-
golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw=
509+
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
510+
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
511+
golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg=
512+
golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ=
513513
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
514514
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
515515
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
516516
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
517-
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
518-
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
517+
golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4=
518+
golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA=
519519
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
520520
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
521521
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -572,10 +572,10 @@ google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvx
572572
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
573573
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY=
574574
google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo=
575-
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422 h1:GVIKPyP/kLIyVOgOnTwFOrvQaQUzOzGMCxgFUOEmm24=
576-
google.golang.org/genproto/googleapis/api v0.0.0-20250106144421-5f5ef82da422/go.mod h1:b6h1vNKhxaSoEI+5jc3PJUCustfli/mRab7295pY7rw=
577-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI=
578-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50=
575+
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a h1:nwKuGPlUAt+aR+pcrkfFRrTU1BVrSmYyYMxYbUIVHr0=
576+
google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU=
577+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4=
578+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ=
579579
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
580580
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
581581
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -584,8 +584,8 @@ google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQ
584584
google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
585585
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
586586
google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
587-
google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI=
588-
google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec=
587+
google.golang.org/grpc v1.72.1 h1:HR03wO6eyZ7lknl75XlxABNVLLFc2PAb6mHlYh756mA=
588+
google.golang.org/grpc v1.72.1/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM=
589589
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
590590
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
591591
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=

pkg/nfs/controllerserver.go

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ func (cs *ControllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol
163163
return nil, status.Error(codes.InvalidArgument, err.Error())
164164
}
165165

166-
var volCap *csi.VolumeCapability
166+
volCap := getVolumeCapabilityFromSecret(name, req.GetSecrets())
167167
if len(req.GetVolumeCapabilities()) > 0 {
168168
volCap = req.GetVolumeCapabilities()[0]
169169
}
@@ -220,19 +220,6 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol
220220
return &csi.DeleteVolumeResponse{}, nil
221221
}
222222

223-
var volCap *csi.VolumeCapability
224-
mountOptions := getMountOptions(req.GetSecrets())
225-
if mountOptions != "" {
226-
klog.V(2).Infof("DeleteVolume: found mountOptions(%s) for volume(%s)", mountOptions, volumeID)
227-
volCap = &csi.VolumeCapability{
228-
AccessType: &csi.VolumeCapability_Mount{
229-
Mount: &csi.VolumeCapability_MountVolume{
230-
MountFlags: []string{mountOptions},
231-
},
232-
},
233-
}
234-
}
235-
236223
if nfsVol.onDelete == "" {
237224
nfsVol.onDelete = cs.Driver.defaultOnDeletePolicy
238225
}
@@ -253,6 +240,7 @@ func (cs *ControllerServer) DeleteVolume(ctx context.Context, req *csi.DeleteVol
253240
return &csi.DeleteVolumeResponse{}, nil
254241
}
255242
// mount nfs base share so we can delete the subdirectory
243+
volCap := getVolumeCapabilityFromSecret(volumeID, req.GetSecrets())
256244
if err = cs.internalMount(ctx, nfsVol, nil, volCap); err != nil {
257245
return nil, status.Errorf(codes.Internal, "failed to mount nfs server: %v", err)
258246
}
@@ -376,7 +364,8 @@ func (cs *ControllerServer) CreateSnapshot(ctx context.Context, req *csi.CreateS
376364
return nil, status.Errorf(codes.NotFound, "failed to create nfsSnapshot: %v", err)
377365
}
378366
snapVol := volumeFromSnapshot(snapshot)
379-
if err = cs.internalMount(ctx, snapVol, req.GetParameters(), nil); err != nil {
367+
volCap := getVolumeCapabilityFromSecret(req.GetSourceVolumeId(), req.GetSecrets())
368+
if err = cs.internalMount(ctx, snapVol, req.GetParameters(), volCap); err != nil {
380369
return nil, status.Errorf(codes.Internal, "failed to mount snapshot nfs server: %v", err)
381370
}
382371
defer func() {
@@ -392,7 +381,7 @@ func (cs *ControllerServer) CreateSnapshot(ctx context.Context, req *csi.CreateS
392381
return nil, err
393382
}
394383

395-
if err = cs.internalMount(ctx, srcVol, req.GetParameters(), nil); err != nil {
384+
if err = cs.internalMount(ctx, srcVol, req.GetParameters(), volCap); err != nil {
396385
return nil, status.Errorf(codes.Internal, "failed to mount src nfs server: %v", err)
397386
}
398387
defer func() {
@@ -445,18 +434,7 @@ func (cs *ControllerServer) DeleteSnapshot(ctx context.Context, req *csi.DeleteS
445434
return &csi.DeleteSnapshotResponse{}, nil
446435
}
447436

448-
var volCap *csi.VolumeCapability
449-
mountOptions := getMountOptions(req.GetSecrets())
450-
if mountOptions != "" {
451-
klog.V(2).Infof("DeleteSnapshot: found mountOptions(%s) for snapshot(%s)", mountOptions, req.GetSnapshotId())
452-
volCap = &csi.VolumeCapability{
453-
AccessType: &csi.VolumeCapability_Mount{
454-
Mount: &csi.VolumeCapability_MountVolume{
455-
MountFlags: []string{mountOptions},
456-
},
457-
},
458-
}
459-
}
437+
volCap := getVolumeCapabilityFromSecret(req.SnapshotId, req.GetSecrets())
460438
vol := volumeFromSnapshot(snap)
461439
if err = cs.internalMount(ctx, vol, nil, volCap); err != nil {
462440
return nil, status.Errorf(codes.Internal, "failed to mount nfs server for snapshot deletion: %v", err)

0 commit comments

Comments
 (0)