mirror of
https://github.com/kubernetes-csi/csi-driver-nvmf.git
synced 2025-09-21 18:27:42 +00:00
Fix multiple connections problems to one same nqn in a single node (#23)
* fix: make multiple connections to one same nqn possible in a single node Multiple connections to one same nqn in a single node return -EALREADY error. So, we should use a hostnqn to make every connections seperate. It is appropriate to use a target path from a volume request as a hostnqn. * fix: make ro and rw mounts for one same nqn possible in a single node ReadOnly and ReadWrite mounts for one same nqn in a single node return -EBUSY error. So, we should remove readonly and readwrite options when mounting a block device in a csi driver. A cri runtime makes a mount as readonly inside containers if needed. * fix: add fallback supports for no hostnqn sysfs file supports Directories per each nqn will be created in /run/nvmf and files per each hostnqn will be created in /run/nvmf/{nqn}. If linux kernel has no hostnqn sysfs file supports, we will disconnect all connections for a nqn at once when a directory for the nqn is empty. * refactor: rename sysfs_nqn_path to sysfs_subsysnqn_path * refactor: use filepath.Join instead of strings.Join * fix: add explicitly UnsupportedHostnqnError for fallback supports If linux kernel has no hostnqn sysfs file supports, return UnsupportedHostnqnError and switch to fallback mode which will disconnect all connections at once when a last controller in a nqn is disconnected. * fix: return directly after fallback mode * fix: mount the host's /run/nvmf directory to csi-node-driver
This commit is contained in:
@@ -73,6 +73,8 @@ spec:
|
||||
- name: pods-mount-dir
|
||||
mountPath: /var/lib/kubelet/pods
|
||||
mountPropagation: "Bidirectional"
|
||||
- name: run-nvmf-dir
|
||||
mountPath: /run/nvmf
|
||||
- name: host-dev
|
||||
mountPath: /dev
|
||||
mountPropagation: "HostToContainer"
|
||||
@@ -94,6 +96,10 @@ spec:
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/pods
|
||||
type: Directory
|
||||
- name: run-nvmf-dir
|
||||
hostPath:
|
||||
path: /run/nvmf
|
||||
type: DirectoryOrCreate
|
||||
- name: host-dev
|
||||
hostPath:
|
||||
path: /dev
|
||||
@@ -102,4 +108,4 @@ spec:
|
||||
path: /sys
|
||||
- name: lib-modules
|
||||
hostPath:
|
||||
path: /lib/modules
|
||||
path: /lib/modules
|
||||
|
Reference in New Issue
Block a user