Hi,
As discussed with the team on slack today, the following issue:
tl;dr: Create a post-creation check to verify if a volume exists before starting the container who uses it.
We have a single test filer for running PoCs. We run NetApp ONTAP 9, Docker 1.13 & The latest nDVP plugin. When we perform a "Docker volume create" towards the netapp storage driver, the volume is not directly available on the filer, possibly because of a configured advertisement delay on our configuration.
[root@vm~]# docker volume create -d netapp --name=netappslack2
netappslack2
netapp:latest netappslack2
showmount gives /netappdvp_netappslack2 (everyone)
[root@vm~]# mount .99:/netappdvp_netappslack2 test
mount.nfs: mounting .99:/netappdvp_netappslack2 failed, reason given by server: No such file or directory
Yet, containers expect the volume to be there for writing data. Now, the container starts and exits directly using status 32, saying the "file or directory is not available".
Waiting a few minutes, around 4, we perform the docker run again using the created volume. Then, it works fine and mounts the volume.
[root@VM~]# docker run --rm -it -v netappslack2:/take2 alpine ash
/ #