ceph-csi/internal/rbd
Humble Chirammal 4a69378698 rbd: introduce a helper function to detect multi writer,block & rwofile
SINGLE_NODE_WRITER capability ambiguity has been fixed in csi spec v1.5
which allows the SP drivers to declare more granular WRITE capability in form
of SINGLE_NODE_SINGLE_WRITER or SINGLE_NODE_MULTI_WRITER.

These are not really new capabilities rather capabilities introduced to
get the desired functionality from CO side based on the capabilities SP
driver support for various CSI operations, this new capabilities also help
to address new access mode RWOP (readwriteoncepod).

This commit adds a helper function which identity the request is of
multiwriter mode and also validates whether it is filesystem mode or
block mode. Based on the inspection it fails to allow multi write
requests for filesystem mode and only allow multi write request against
block mode.

This commit also adds unit tests for isMultiWriterBlock function which
validates various accesstypes and accessmodes.

Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2022-01-11 19:40:22 +00:00
..
driver rbd: add SINGLE_NODE{SINGLE_MULTI}_WRITER capabilities 2022-01-11 19:40:22 +00:00
clone.go rbd: remove redundant util.Credentials arg from flattenRbdImage() 2022-01-06 12:28:18 +00:00
controllerserver_test.go cleanup: resolve parallel test issue 2021-07-13 11:31:39 +00:00
controllerserver.go rbd: introduce a helper function to detect multi writer,block & rwofile 2022-01-11 19:40:22 +00:00
diskusage.go rbd: implement CSI-Addons ControllerReclaimSpace 2021-12-23 17:43:23 +00:00
encryption.go rbd: modify copyEncryptionConfig to accept copyOnlyPassphrase arg 2021-10-05 07:46:57 +00:00
errors.go rbd: check local image state during promote operation 2021-12-01 20:19:05 +00:00
globals.go rbd: add functions for initializing global variables 2021-12-10 07:35:26 +00:00
identityserver.go internal: reformat long lines in internal/rbd package to 120 chars 2021-06-28 14:43:49 +00:00
migration_test.go rbd: change iteration variable name in the migration test to be specific 2021-10-11 10:06:30 +00:00
migration.go rbd: remove redundant util.Credentials arg from flattenRbdImage() 2022-01-06 12:28:18 +00:00
mirror.go rbd: add workaround for force promote 2021-12-23 13:36:21 +00:00
nodeserver_test.go cleanup: generalize the parseBool function 2021-11-01 08:17:36 +00:00
nodeserver.go rbd: add SINGLE_NODE{SINGLE_MULTI}_WRITER capabilities 2022-01-11 19:40:22 +00:00
rbd_attach_test.go rbd: provide a way to supply mounter specific mapOptions from sc 2021-11-23 08:54:37 +00:00
rbd_attach.go rbd: provide a way to supply mounter specific mapOptions from sc 2021-11-23 08:54:37 +00:00
rbd_healer.go rbd: export RunVolumeHealer() so that rbd/driver can start it 2021-12-10 07:35:26 +00:00
rbd_journal.go rbd: remove SizeBytes from rbdSnapshot struct 2021-12-23 03:47:00 +00:00
rbd_util_test.go rbd: move core fields to rbdImage struct 2021-12-23 03:47:00 +00:00
rbd_util.go cleanup: use %q instead of %s for logging 2022-01-06 12:28:18 +00:00
replicationcontrollerserver_test.go rbd: enabe journal based mirroring 2021-12-01 14:12:30 +00:00
replicationcontrollerserver.go rbd: remove redundant util.Credentials arg from flattenRbdImage() 2022-01-06 12:28:18 +00:00
snapshot.go rbd: remove redundant util.Credentials arg from flattenRbdImage() 2022-01-06 12:28:18 +00:00