Skip to content

Commit b76f376

Browse files
committed
ci: include publish-secret in StorageClass for NFS
The NFS node-plugin does not support staging, it only uses publishing. For VolumeAttributeClass / ControllerModifyVolume the mutable parameters are stored in the Ceph backend. This means that during volume publishing the node-plugin needs to get the updated parameters from the Ceph cluster (hence the publish secret requirement). /tmp/csi has been added to the node-plugin Pod so that the temporary credentials file can be written. Signed-off-by: Niels de Vos <ndevos@ibm.com>
1 parent cda6d39 commit b76f376

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

deploy/nfs/kubernetes/csi-nfsplugin.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ spec:
7373
mountPath: /etc/ceph/
7474
- name: ceph-csi-config
7575
mountPath: /etc/ceph-csi-config/
76+
- name: keys-tmp-dir
77+
mountPath: /tmp/csi/keys
7678
- name: driver-registrar
7779
# This is necessary only for systems with SELinux, where
7880
# non-privileged sidecar containers cannot access unix domain socket
@@ -133,3 +135,7 @@ spec:
133135
- name: ceph-csi-config
134136
configMap:
135137
name: ceph-csi-config
138+
- name: keys-tmp-dir
139+
emptyDir: {
140+
medium: "Memory"
141+
}

e2e/nfs.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ func createNFSStorageClass(
178178
sc.Parameters["csi.storage.k8s.io/controller-expand-secret-namespace"] = cephCSINamespace
179179
sc.Parameters["csi.storage.k8s.io/controller-expand-secret-name"] = cephFSProvisionerSecretName
180180

181-
sc.Parameters["csi.storage.k8s.io/node-stage-secret-namespace"] = cephCSINamespace
182-
sc.Parameters["csi.storage.k8s.io/node-stage-secret-name"] = cephFSNodePluginSecretName
181+
sc.Parameters["csi.storage.k8s.io/node-publish-secret-namespace"] = cephCSINamespace
182+
sc.Parameters["csi.storage.k8s.io/node-publish-secret-name"] = cephFSNodePluginSecretName
183183

184184
if enablePool {
185185
sc.Parameters["pool"] = "myfs-replicated"

examples/nfs/storageclass.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,11 @@ parameters:
3838
csi.storage.k8s.io/provisioner-secret-namespace: default
3939
csi.storage.k8s.io/controller-expand-secret-name: csi-cephfs-secret
4040
csi.storage.k8s.io/controller-expand-secret-namespace: default
41-
csi.storage.k8s.io/node-stage-secret-name: csi-cephfs-secret
42-
csi.storage.k8s.io/node-stage-secret-namespace: default
41+
csi.storage.k8s.io/controller-modify-secret-name: csi-cephfs-secret
42+
csi.storage.k8s.io/controller-modify-secret-namespace: default
43+
# publish-secret is needed for parameters set by a VolumeAttributeClass
44+
csi.storage.k8s.io/node-publish-secret-name: csi-cephfs-secret
45+
csi.storage.k8s.io/node-publish-secret-namespace: default
4346

4447
# (optional) Prefix to use for naming subvolumes.
4548
# If omitted, defaults to "csi-vol-".

0 commit comments

Comments
 (0)