Description
I have a question with regards to NodePublishVolume
. Its request message, NodePublishVolumeRequest
, includes the field target_path
:
// The path to which the volume will be published. It MUST be an // absolute path in the root filesystem of the process serving this // request. This is a REQUIRED field. string target_path = 5;
This is marked as a REQUIRED field. However, the CSI specification seems to allow for the possibility of a Node Plug-in presenting block devices directly to a container. For example, in a NodePublishVolumeRequest
the volume_capability
field can contain a BlockDevice
message, indicating that the type of volume being published is a raw, block device.
Given that the CO will likely NOT know the filesystem device path to the block device ahead of time and thus be unable to populate, ex. /dev/sda
, in the target_path
field for the NodePublishVolumeRequest
, shouldn't the target_path
field be marked REQUIRED IFF the volume_capability
field is a MountVolume
message?
For example, here is a proposed revision:
// The path to which the volume will be published. It MUST be an // absolute path in the root filesystem of the process serving this // request. This is a REQUIRED field IFF `volume_capabilities` is // set to a `MountVolume` message. string target_path = 5;