Jan Safranek
unread,Nov 12, 2020, 11:12:50 AM11/12/20Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to kubernetes-sig-storage-wg-csi, kubernetes-sig-storage, container-storage-inte...@googlegroups.com
Kubernetes 1.19 and earlier created target_path before calling
NodePublishVolume CSI call. This is against CSI specification, which
says: "Creation of target_path is the responsibility of the SP."
Therefore Kubernetes 1.20 will not create target_path before calling
NodePublishVolume, only its parent directory.
Please make sure your CSI drivers create target_path if it is missing!
This change was announced in Kubernetes 1.18 release notes [1], now we
mean it for real. csi-sanity tests already call NodePublishVolume
without the target_path created since v2.0.0 (i.e. Apr 1, 2019, [2]).
Note that we do not change NodeStageVolume call behavior, where
staging_target_path is created by Kubernetes, as required by CSI spec:
"CO SHALL be responsible for creating the directory if it does not exist."
1:
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.18.md#deprecation
2:
https://github.com/kubernetes-csi/csi-test/releases/tag/v2.0.0
With kind regards,
Jan Šafránek on behalf of Kubernetes CSI community