hammerlab / secotrec

Setup Coclobas/Ketrew Clusters
Apache License 2.0
5 stars 6 forks source link

Add `Aws_efs` module and `secotrec-aws-efs` app #21

Closed smondet closed 7 years ago

smondet commented 7 years ago

The app can setup AWS-EFS file-systems on AWS nodes created with secotrec-aws-node, all operations are nicely idempotent:

$ secotrec-aws-efs up
    --name smondet-efs --ssh ec2-user@ec2-example.compute-42.amazonaws.com

SECOTREC: [EFS:smondet-efs] Checking file-system-id
SECOTREC: [EFS:smondet-efs] Building file-system-id
SECOTREC: [EFS:smondet-efs]  -> file-system-id was just created: fs-3945ee70
SECOTREC: [EFS:smondet-efs] Using: Subnet: subnet-8f7df1f8, Secgrp: sg-1f2de660
SECOTREC: [EFS:smondet-efs] Checking mount-target-id
SECOTREC: [EFS:smondet-efs] Building mount-target-id
SECOTREC: [EFS:smondet-efs]  -> mount-target-id was just created: fsmt-bf47faf6
SECOTREC: [EFS:smondet-efs] Authorizing :2049 traffic within group sg-1f2de660
SECOTREC: [EFS:smondet-efs]  -> NFSv4 traffic was already authorized
SECOTREC: [EFS:smondet-efs] Waiting for mount-target to be really available.
0.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.
SECOTREC: [EFS:smondet-efs] Mounting 172.31.45.55:/ at /mnt-smondet-efs

$ secotrec-aws-efs describe
    --name smondet-efs --ssh ec2-user@ec2-example.compute-42.amazonaws.com

SECOTREC: [EFS:smondet-efs] File-system-id: fs-3945ee70:
``````````json
{
    "FileSystems": [
        {
            "SizeInBytes": {
                "Value": 6144
            },
            "CreationToken": "smondet-efs",
            "CreationTime": 1489613265.0,
            "PerformanceMode": "generalPurpose",
            "FileSystemId": "fs-3945ee70",
            "NumberOfMountTargets": 1,
            "LifeCycleState": "available",
            "OwnerId": "020590027510"
        }
    ]
}

``````````
SECOTREC: [EFS:smondet-efs] Mount-Targets:
``````````
MOUNTTARGETS    fs-3945ee70 172.31.45.55    available   fsmt-bf47faf6   eni-762f1f95    020590027510    subnet-8f7df1f8

``````````
SECOTREC: [EFS:smondet-efs] Local-mount:
``````````
172.31.45.55:/ on /mnt-smondet-efs 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.36.66,local_lock=none,addr=172.31.45.55)

``````````
SECOTREC: [EFS:smondet-efs] Done.

$ secotrec-aws-efs down
    --name smondet-efs --ssh ec2-user@ec2-example.compute-42.amazonaws.com

SECOTREC: [EFS:smondet-efs] File-system-ID: fs-3945ee70, Mount-Target-ID: fsmt-bf47faf6
SECOTREC: [EFS:smondet-efs] Unmounting `/mnt-smondet-efs`...
``````````

``````````
SECOTREC: Deleting mount-target.
SECOTREC: Waiting for the FS to not be “in use”: `1` user(s) now...
0.1.
SECOTREC: EFS-smondet-efs: Deleting file-system.