Announce: Kubernetes 1.20 will not create NodePublish path

15 views
Skip to first unread message

Jan Safranek

unread,
Nov 12, 2020, 11:12:50 AM11/12/20
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

Reply all
Reply to author
Forward
0 new messages