docker-archive / for-aws

92 stars 26 forks source link

Change NFS mount point options in cloudstor:aws cloud storage plugin #175

Open galindro opened 6 years ago

galindro commented 6 years ago

Expected behavior

Add NFS nolock mount point option to cloudstor:aws cloud storage plugin for Docker.

Actual behavior

It is not possible (or it is not documented) to add any NFS mount options to cloudstor:aws.

Information

# uname -a
Linux ip-172-31-0-104 4.14.62-65.117.amzn1.x86_64 #1 SMP Fri Aug 10 20:03:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

# docker info
Containers: 14
 Running: 13
 Paused: 0
 Stopped: 1
Images: 18
Server Version: 18.03.1-ce
Storage Driver: devicemapper
 Pool Name: docker-docker--pool
 Pool Blocksize: 524.3kB
 Base Device Size: 10.74GB
 Backing Filesystem: ext4
 Udev Sync Supported: true
 Data Space Used: 4.834GB
 Data Space Total: 23.33GB
 Data Space Available: 18.49GB
 Metadata Space Used: 3.658MB
 Metadata Space Total: 25.17MB
 Metadata Space Available: 21.51MB
 Thin Pool Minimum Free Space: 2.333GB
 Deferred Removal Enabled: true
 Deferred Deletion Enabled: true
 Deferred Deleted Device Count: 0
 Library Version: 1.02.135-RHEL7 (2016-11-16)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.14.62-65.117.amzn1.x86_64
Operating System: Amazon Linux AMI 2018.03
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 3.67GiB
Name: ip-172-31-0-104
ID: 2SOM:CRKZ:NCXV:WXOM:67I7:T23O:ZVIN:7DNH:OFZN:MVTZ:GDVB:GPKR
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Steps to reproduce the behavior

  1. Create two EFS shares (one regular and other with max_io)
  2. Install cloudstor:aws plugin using this command (replace de parameters with the efs share ids):
    docker plugin install \
    --alias cloudstor:aws \
    --grant-all-permissions docker4x/cloudstor:18.03.1-ce-aws1 \
    CLOUD_PLATFORM=AWS \
    AWS_REGION=<your_aws_region> \
    EFS_SUPPORTED=1 \
    EFS_ID_REGULAR=<efs id from the regular efs share> \
    EFS_ID_MAXIO=<efs id from the max io efs share> \
    AWS_STACK_ID=nostack \
    DEBUG=1
  3. Check the mount point options by issuing a mount |grep nfs. The result will be similar to the following:
    <efs id from the regular efs share>.efs.us-east-1.amazonaws.com:/ on /var/lib/docker/plugins/bffee80f7e6b251c84eb05dfa68d9cddca807c795a5e69badbff9f8f2d6296b9/propagated-mount/efs/reg type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.31.0.104,local_lock=none,addr=172.31.0.53)
    <efs id from the max io efs share>.efs.us-east-1.amazonaws.com:/ on /var/lib/docker/plugins/bffee80f7e6b251c84eb05dfa68d9cddca807c795a5e69badbff9f8f2d6296b9/propagated-mount/efs/max type nfs4 (rw,relatime,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=172.31.0.104,local_lock=none,addr=172.31.0.94)
galindro commented 6 years ago

Any return?