Skip to content

Commit 8a6b66a

Browse files
authored
Merge pull request #290 from davidz627/fix/validateAccessModes
Cherrypick to v0.5.0: Remove cross validation of access modes, multiple access modes can be specified that represent all the capabilities of the volume
2 parents 7ae2a2b + 3d6be58 commit 8a6b66a

File tree

10 files changed

+32
-53
lines changed

10 files changed

+32
-53
lines changed

deploy/kubernetes/base/controller.yaml

+5-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ spec:
1616
serviceAccountName: csi-controller-sa
1717
containers:
1818
- name: csi-provisioner
19-
image: gcr.io/gke-release/csi-provisioner
19+
image: gke.gcr.io/csi-provisioner
2020
args:
2121
- "--v=5"
2222
- "--csi-address=/csi/csi.sock"
@@ -25,15 +25,17 @@ spec:
2525
- name: socket-dir
2626
mountPath: /csi
2727
- name: csi-attacher
28-
image: gcr.io/gke-release/csi-attacher
28+
image: gke.gcr.io/csi-attacher
2929
args:
3030
- "--v=5"
3131
- "--csi-address=/csi/csi.sock"
3232
volumeMounts:
3333
- name: socket-dir
3434
mountPath: /csi
3535
- name: gce-pd-driver
36-
image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
36+
# Don't change base image without changing pdImagePlaceholder in
37+
# test/k8s-integration/main.go
38+
image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
3739
args:
3840
- "--v=5"
3941
- "--endpoint=unix:/csi/csi.sock"

deploy/kubernetes/base/node.yaml

+4-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ spec:
1515
serviceAccountName: csi-node-sa
1616
containers:
1717
- name: csi-driver-registrar
18-
image: gcr.io/gke-release/csi-node-driver-registrar
18+
image: gke.gcr.io/csi-node-driver-registrar
1919
args:
2020
- "--v=5"
2121
- "--csi-address=/csi/csi.sock"
@@ -37,7 +37,9 @@ spec:
3737
- name: gce-pd-driver
3838
securityContext:
3939
privileged: true
40-
image: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
40+
# Don't change base image without changing pdImagePlaceholder in
41+
# test/k8s-integration/main.go
42+
image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
4143
args:
4244
- "--v=5"
4345
- "--endpoint=unix:/csi/csi.sock"

deploy/kubernetes/overlays/alpha/controller_add_snapshotter.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ spec:
88
containers:
99
- name: csi-snapshotter
1010
imagePullPolicy: Always
11-
image: gcr.io/gke-release/csi-snapshotter:v1.0.1-gke.0
11+
image: gke.gcr.io/csi-snapshotter:v1.0.1-gke.0
1212
args:
1313
- "--v=5"
1414
- "--csi-address=/csi/csi.sock"

deploy/kubernetes/overlays/dev/kustomization.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ patches:
77
- node_always_pull.yaml
88
images:
99
# Replace this with your private image names and tags
10-
- name: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
10+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
1111
newName: gcr.io/REPLACEME/gcp-compute-persistent-disk-csi-driver
1212
newTag: "latest"

deploy/kubernetes/overlays/prow-gke-release-staging-head/kustomization.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ kind: Kustomization
33
bases:
44
- ../../base
55
images:
6-
- name: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
6+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
77
newName: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver
88
newTag: "latest"
9-
- name: gcr.io/gke-release/csi-provisioner
9+
- name: gke.gcr.io/csi-provisioner
1010
newName: gcr.io/gke-release-staging/csi-provisioner
1111
newTag: "latest"
12-
- name: gcr.io/gke-release/csi-attacher
12+
- name: gke.gcr.io/csi-attacher
1313
newName: gcr.io/gke-release-staging/csi-attacher
1414
newTag: "latest"
15-
- name: gcr.io/gke-release/csi-node-driver-registrar
15+
- name: gke.gcr.io/csi-node-driver-registrar
1616
newName: gcr.io/gke-release-staging/csi-node-driver-registrar
1717
newTag: "latest"

deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ kind: Kustomization
33
bases:
44
- ../../base
55
images:
6-
- name: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
6+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
77
newName: gcr.io/gke-release-staging/gcp-compute-persistent-disk-csi-driver
88
newTag: "v0.5.0-rc1"
9-
- name: gcr.io/gke-release/csi-provisioner
9+
- name: gke.gcr.io/csi-provisioner
1010
newName: gcr.io/gke-release-staging/csi-provisioner
1111
newTag: "v1.2.0-gke.0"
12-
- name: gcr.io/gke-release/csi-attacher
12+
- name: gke.gcr.io/csi-attacher
1313
newName: gcr.io/gke-release-staging/csi-attacher
1414
newTag: "v1.1.0-gke.0"
15-
- name: gcr.io/gke-release/csi-node-driver-registrar
15+
- name: gke.gcr.io/csi-node-driver-registrar
1616
newName: gcr.io/gke-release-staging/csi-node-driver-registrar
1717
newTag: "v1.1.0-gke.0"

deploy/kubernetes/overlays/stable/kustomization.yaml

+10-8
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ kind: Kustomization
33
bases:
44
- ../../base
55
images:
6-
- name: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
7-
newName: gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver
6+
- name: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
7+
# Don't change stable image without changing pdImagePlaceholder in
8+
# test/k8s-integration/main.go
9+
newName: gke.gcr.io/gcp-compute-persistent-disk-csi-driver
810
newTag: "v0.5.0-gke.0"
9-
- name: gcr.io/gke-release/csi-provisioner
10-
newName: gcr.io/gke-release/csi-provisioner
11+
- name: gke.gcr.io/csi-provisioner
12+
newName: gke.gcr.io/csi-provisioner
1113
newTag: "v1.2.0-gke.0"
12-
- name: gcr.io/gke-release/csi-attacher
13-
newName: gcr.io/gke-release/csi-attacher
14+
- name: gke.gcr.io/csi-attacher
15+
newName: gke.gcr.io/csi-attacher
1416
newTag: "v1.1.0-gke.0"
15-
- name: gcr.io/gke-release/csi-node-driver-registrar
16-
newName: gcr.io/gke-release/csi-node-driver-registrar
17+
- name: gke.gcr.io/csi-node-driver-registrar
18+
newName: gke.gcr.io/csi-node-driver-registrar
1719
newTag: "v1.1.0-gke.0"

pkg/gce-pd-csi-driver/utils.go

-25
Original file line numberDiff line numberDiff line change
@@ -72,31 +72,6 @@ func validateVolumeCapabilities(vcs []*csi.VolumeCapability) error {
7272
return err
7373
}
7474
}
75-
if err := crossValidateAccessModes(vcs); err != nil {
76-
return err
77-
}
78-
return nil
79-
}
80-
81-
func crossValidateAccessModes(vcs []*csi.VolumeCapability) error {
82-
m := map[csi.VolumeCapability_AccessMode_Mode]bool{}
83-
84-
for _, vc := range vcs {
85-
m[vc.GetAccessMode().GetMode()] = true
86-
}
87-
88-
hasWriter := m[csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER]
89-
hasSingleReader := m[csi.VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY]
90-
hasMultiReader := m[csi.VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY]
91-
92-
if hasWriter && (hasSingleReader || hasMultiReader) {
93-
return fmt.Errorf("both SINGLE_NODE_WRITER and READER_ONLY access mode specified")
94-
}
95-
96-
if hasSingleReader && hasMultiReader {
97-
return fmt.Errorf("both SINGLE_NODE_READER_ONLY and MULTI_NODE_READY_ONLY specified")
98-
}
99-
10075
return nil
10176
}
10277

pkg/gce-pd-csi-driver/utils_test.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -140,20 +140,18 @@ func TestValidateVolumeCapabilities(t *testing.T) {
140140
expErr: true,
141141
},
142142
{
143-
name: "fail with reader + writer capabilities",
143+
name: "success with reader + writer capabilities",
144144
vc: []*csi.VolumeCapability{
145145
createVolumeCapability(csi.VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY),
146146
createVolumeCapability(csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER),
147147
},
148-
expErr: true,
149148
},
150149
{
151-
name: "fail with different reader capabilities",
150+
name: "success with different reader capabilities",
152151
vc: []*csi.VolumeCapability{
153152
createVolumeCapability(csi.VolumeCapability_AccessMode_MULTI_NODE_READER_ONLY),
154153
createVolumeCapability(csi.VolumeCapability_AccessMode_SINGLE_NODE_READER_ONLY),
155154
},
156-
expErr: true,
157155
},
158156
}
159157

test/k8s-integration/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ var (
5757
)
5858

5959
const (
60-
pdImagePlaceholder = "gcr.io/gke-release/gcp-compute-persistent-disk-csi-driver"
60+
pdImagePlaceholder = "gke.gcr.io/gcp-compute-persistent-disk-csi-driver"
6161
k8sBuildBinDir = "_output/dockerized/bin/linux/amd64"
6262
)
6363

0 commit comments

Comments
 (0)