Enable EFS for cloudstor:aws plugin

I’m trying to modify the settings of a cloudstor:aws plugin of a swarm deployment in order to enable EFS. The problem is that in order to alter the settings (docker plugin set cloudstor:aws KEY=VALUE) I must first disable the plugin. That would be fine except I am unable to enable the plugin after I set the EFS settings.

The error I’m getting:

docker plugin enable cloudstor:aws
Error response from daemon: dial unix /run/docker/plugins/908ac90aabb577a820f89596a4259ea4162374631abaec485f8cc5770e0f79bf/cloudstor.sock: connect: no such file or directory

docker-diagnose
OK hostname=ip-172-30-1-247-ec2-internal session=1504283052-CWDkbC3dAPRGnwcKSxgAXXaT9t65lMCP
Done requesting diagnostics.
Your diagnostics session ID is 1504283052-CWDkbC3dAPRGnwcKSxgAXXaT9t65lMCP
Please provide this session ID to the maintainer debugging your issue.

Docker logs:

Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38Z" level=info msg="fs-62345b2b.efs.us-east-1.amazonaws.com:/ on /mnt/efs/reg type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsi
ze=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.30.1.247,local_lock=none,addr=172.30.1.176)" plugin=908ac90aabb577a820f89596a4259ea4162374631abaec
485f8cc5770e0f79bf
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38Z" level=info msg="\" operation=mount " plugin=908ac90aabb577a820f89596a4259ea4162374631abaec485f8cc5770e0f79bf
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38Z" level=info msg="time=\"2017-09-01T17:21:38Z\" level=fatal msg=\"Could not mount: mount failed: exit status 1" plugin=908ac9
0aabb577a820f89596a4259ea4162374631abaec485f8cc5770e0f79bf
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38Z" level=info msg="output=\"mount: bad address '.efs.us-east-1.amazonaws.com'\\n\"\" " plugin=908ac90aabb577a820f89596a4259ea4
162374631abaec485f8cc5770e0f79bf
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38.152600251Z" level=debug msg="containerd: process exited" id=908ac90aabb577a820f89596a4259ea4162374631abaec485f8cc5770e0f79bf
pid=init status=1 systemPid=9259
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38.155267649Z" level=debug msg="libcontainerd: received containerd event: &types.Event{Type:\"exit\", Id:\"908ac90aabb577a820f89
596a4259ea4162374631abaec485f8cc5770e0f79bf\", Status:0x1, Pid:\"init\", Timestamp:(*timestamp.Timestamp)(0xc42106f4a0)}"
Sep  1 17:21:38 moby root: time="2017-09-01T17:21:38.359013907Z" level=debug msg="Calling GET /v1.25/services"
Sep  1 17:21:39 moby root: time="2017-09-01T17:21:39.006759481Z" level=debug msg="Calling GET /_ping"
Sep  1 17:21:39 moby root: time="2017-09-01T17:21:39.679272205Z" level=debug msg="Calling GET /_ping"
Sep  1 17:21:41 moby root: time="2017-09-01T17:21:41.358968994Z" level=debug msg="Calling GET /v1.25/services"
Sep  1 17:21:42 moby root: time="2017-09-01T17:21:42.402890349Z" level=debug msg="Calling GET /v1.24/services"
Sep  1 17:21:44 moby root: time="2017-09-01T17:21:44.359157113Z" level=debug msg="Calling GET /v1.25/services"
Sep  1 17:21:47 moby root: time="2017-09-01T17:21:47.358955556Z" level=debug msg="Calling GET /v1.25/services"
Sep  1 17:21:47 moby root: time="2017-09-01T17:21:47.404373507Z" level=debug msg="Calling GET /v1.24/services"
Sep  1 17:21:49 moby root: time="2017-09-01T17:21:49.006139043Z" level=debug msg="Calling GET /_ping"
Sep  1 17:21:49 moby root: time="2017-09-01T17:21:49.679593187Z" level=debug msg="Calling GET /_ping"
Sep  1 17:21:50 moby root: time="2017-09-01T17:21:50.358960237Z" level=debug msg="Calling GET /v1.25/services"
Sep  1 17:21:50 moby root: time="2017-09-01T17:21:50.508174572Z" level=debug msg="error net dialing plugin: dial unix /run/docker/plugins/908ac90aabb577a820f89596a4259ea416237463
1abaec485f8cc5770e0f79bf/cloudstor.sock: connect: no such file or directory"

Hi I also encountered this issue. Please see my solution here https://github.com/docker/for-aws/issues/85#issuecomment-327900718

@dockerizeit1 Thanks. I submitted my own issue and was provided a workaround: https://github.com/docker/for-aws/issues/98

TL;DR: Both EFS_ID_REGULAR and EFS_ID_MAXIO must be set to different ids. Apparently the install script expects both and if one uses the same id for both it causes duplicate volume issues. Cheers.