Skip to content

EFS: able to mount but problems to resolve #73

Open
@ghost

Description

This is on the latest Amazon Linux with docker 1.11.2
docker-volume-netshare :: Version: '0.20' - Built: '2016-08-28T20:15:48Z'

  • Running a container with an efs volume does mount it on the host but not in the container. To make it work I have to edit /etc/init.d/docker to prevent it to mount in a separate namespace (i.e. removing $unshare" -m). Is there a way to make it work without editing /etc/init.d/docker and without restarting the service?
  • Looking at the logs everything works fine for the lifetime of the container but when the container is stopped and the volume unmounted I get these entries:
INFO[20699] Unmounting volume 10.x.x.x: from /var/lib/docker-volumes/netshare/efs/fs-xxxxxxxxx
DEBU[0051] Attempting to resolve: 10.x.x.x
ERRO[20713] Error during resolve: Response was empty
INFO[0051] Removing un-managed volume

Why is it attempting to resolve the IP when unmounting?

  • Mounting the efs volume to a plain Ubuntu container works fine
    example: docker run -it --volume-driver=efs -v fs-xxxxxxxxx:/mount ubuntu /bin/bash

However mounting the same volume on the same host with a different container returns an error:

docker run -it --volume-driver=efs -v fs-xxxxxxxxx:/test 8cde90f4491e /bin/bash
docker: Error response from daemon: VolumeDriver.Mount: exit status 32.

What I am seeing in the daemon logs shows the name is not built correctly so it doesn't resolve:

DEBU[0172] Entering Get: {553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59 map[]}
DEBU[0172] Entering Create: name: 553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59, options map[]
DEBU[0172] Create volume -> name: 553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59, map[]
DEBU[0172] Host path for 553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59 is at /var/lib/docker-volumes/netshare/efs/553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59
DEBU[0172] Entering Get: {5b396482e5fa1d37cd5dc91ae7d9fd1f8de5ef5c8dd0ba37af307dbed636df0b map[]}
DEBU[0172] Entering Create: name: 5b396482e5fa1d37cd5dc91ae7d9fd1f8de5ef5c8dd0ba37af307dbed636df0b, options map[]
DEBU[0172] Create volume -> name: 5b396482e5fa1d37cd5dc91ae7d9fd1f8de5ef5c8dd0ba37af307dbed636df0b, map[]
DEBU[0172] Host path for 5b396482e5fa1d37cd5dc91ae7d9fd1f8de5ef5c8dd0ba37af307dbed636df0b is at /var/lib/docker-volumes/netshare/efs/5b396482e5fa1d37cd5dc91ae7d9fd1f8de5ef5c8dd0ba37af307dbed636df0b
DEBU[0172] Attempting to resolve: us-east-1a.553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59.efs.us-east-1.amazonaws.com
ERRO[0172] Error during resolve: Couldn't resolve name 'us-east-1a.553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59.efs.us-east-1.amazonaws.com.' : dns: bad rdata
INFO[0172] Mounting EFS volume us-east-1a.553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59.efs.us-east-1.amazonaws.com: on /var/lib/docker-volumes/netshare/efs/553a1a707b43085f72f5c0fceb4718452657fea3a94e2640b031dab8cc0aef59

What can cause the volumeID to be changed to 3a48cd86e6cfca49b1015dc61789eb2c3e41624e81a9d75d2f8d494dc0d3bb7f? And why would it happen only with some containers?

I tried starting the daemon with –noresolve and run the container with the endpoint IP instead but I am getting the same error 32 and the daemon doesn't try to mount by IP:

DEBU[0004] Host path for 10.x.x.x is at /var/lib/docker-volumes/netshare/efs/10.220.5.248
DEBU[0004] Entering Get: {6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02 map[]}
DEBU[0004] Entering Create: name: 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02, options map[]
DEBU[0004] Create volume -> name: 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02, map[]
DEBU[0004] Host path for 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02 is at /var/lib/docker-volumes/netshare/efs/6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02
DEBU[0004] Entering Get: {59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211 map[]}
DEBU[0004] Entering Create: name: 59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211, options map[]
DEBU[0004] Create volume -> name: 59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211, map[]
DEBU[0004] Host path for 59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211 is at /var/lib/docker-volumes/netshare/efs/59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211
INFO[0004] Mounting EFS volume 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02: on /var/lib/docker-volumes/netshare/efs/6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02
DEBU[0004] exec: mount -t nfs4 -o nfsvers=4.1 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02: /var/lib/docker-volumes/netshare/efs/6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02

2016/09/15 15:50:51 mount.nfs4: Failed to resolve server 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02: Name or service not known

DEBU[0004] Entering Remove: name: 6081b0b3c0502036e33e85964d06af22eb0e7d4c6186ab64fa92aa26654d7e02, options map[]
DEBU[0004] Entering Remove: name: 59e53fc47a2c633d4de273c97b1e383dd4587cabb4be1659662b89d7af1e7211, options map[]

Any clue appreciated

Eric

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions