thecodeteam / mesos-module-dvdi

Mesos Docker Volume Driver Isolator module
Apache License 2.0
77 stars 16 forks source link

forward options block #89

Closed jdef closed 8 years ago

jdef commented 8 years ago

its not clear to me if dvdcli can handle this format... but options were being swallowed before..

jdef commented 8 years ago

the dvdcli examples show options being added this way --volumeopts=overwritefs=true

this PR probably just results in the CSV option block being appended to the dvdcli command line, e.g. overwritefs=true,volumetype-io without being split up, and without any --volumeopts= prefix

jdef commented 8 years ago

@clintonskitson PTAL

clintkitson commented 8 years ago

Thanks for the PR @jdef. @dvonthenen @cantbewong can we get your eyes on this one?

branden commented 8 years ago

Looks like volumeopts were broken with this commit: https://github.com/emccode/mesos-module-dvdi/commit/5514f0cf370ddf30051807550f074e1318a8fe05#diff-92a1e464f435561d5ebccff4e0b6d3f6L382

clintkitson commented 8 years ago

Thanks @branden

jdef commented 8 years ago

putting my rusty C++ skills to work...

jdef commented 8 years ago

success!

ker_volume_driver_isolator.cpp:599] Preparing external storage for container: 903b69ea-9656-44dc-bae3-a106bc954f9f
ker_volume_driver_isolator.cpp:544] DVDI_VOLUME_CONTAINERPATH(/tmp/test-rexray-volume) parsed from environment
ker_volume_driver_isolator.cpp:544] DVDI_VOLUME_NAME(jdef-test-vol6249824) parsed from environment
ker_volume_driver_isolator.cpp:544] DVDI_VOLUME_DRIVER(rexray) parsed from environment
ker_volume_driver_isolator.cpp:544] DVDI_VOLUME_OPTS(volumetype=io1,iops=1000,size=100) parsed from environment
ker_volume_driver_isolator.cpp:691] Validating mount name jdef-test-vol6249824
ker_volume_driver_isolator.cpp:434] rexray/jdef-test-vol6249824 is being mounted on prepare()
ker_volume_driver_isolator.cpp:444] Invoking /opt/mesosphere/bin/dvdcli mount --volumedriver=rexray --volumename=jdef-test-vol6249824  --volumeopts=volumetype=io1 --volumeopts=iops=1000 --volumeopts=size=100
o msg=vdm.Create driverName=docker moduleName=default-docker opts=map[iops:1000 size:100 volumetype:io1] volumeName=jdef-test-vol6249824
o msg="initialized count" count=0 moduleName=default-docker volumeName=jdef-test-vol6249824
o msg="creating volume" driverName=docker moduleName=default-docker volumeName=jdef-test-vol6249824 volumeOpts=map[iops:1000 size:100 volumetype:io1]
o msg=sdm.GetVolume driverName=ec2 moduleName=default-docker volumeID= volumeName=jdef-test-vol6249824
o msg=sdm.CreateVolume IOPS=1000 availabilityZone= driverName=ec2 moduleName=default-docker runAsync=false size=100 snapshotID= volumeID= volumeName=jdef-test-vol6249824 volumeType=io1
o msg="waiting for volume creation to complete" driverName=ec2 moduleName=default-docker resp.VolumeId=0xc82047ec08 runAsync=false snapshotID= volumeID=
t to connect to node from passive view, but passive view empty
 early, because no nodes to send it to
o msg=vdm.Mount driverName=docker moduleName=default-docker newFsType= overwriteFs=false preempt=false volumeID= volumeName=jdef-test-vol6249824
o msg="mounting volume" driverName=docker moduleName=default-docker newFsType= overwriteFs=false volumeID= volumeName=jdef-test-vol6249824
o msg=sdm.GetVolume driverName=ec2 moduleName=default-docker volumeID= volumeName=jdef-test-vol6249824
o msg=sdm.GetVolumeAttach driverName=ec2 instanceID=i-3e6f7ae4 moduleName=default-docker volumeID=vol-9482e22d
o msg=odm.Unmount driverName=linux moduleName=default-docker mountPoint="//var/lib/rexray/volumes/jdef-test-vol6249824"
o msg=sdm.AttachVolume driverName=ec2 force=true instanceID=i-3e6f7ae4 moduleName=default-docker runAsync=false volumeID=vol-9482e22d
o msg="got next device name" driverName=ec2 moduleName=default-docker nextDeviceName="/dev/xvdc"
o msg="waiting for volume attachment to complete" driverName=ec2 force=true instanceID=i-3e6f7ae4 moduleName=default-docker runAsync=false volumeID=vol-9482e22d
dvonthenen commented 8 years ago

yup looks good! thanks for your help!