Just saw that you are working with 0.28.1, the "docker volume driver" code
was not in 0.28.1, can you please have a try with mesos master branch if
you are only doing some test?

Thanks,

Guangya

On Wed, May 18, 2016 at 8:28 PM, Guangya Liu <[email protected]> wrote:

> Hi Olivier,
>
> I think that you need to enable "docker volume isolator" if you want use
> external storage with unified container I was writing a document here
> https://reviews.apache.org/r/47511/, perhaps you can have a try according
> to the document and post some comments there if you find any issues.
>
> Also you can patch mesos-execute here https://reviews.apache.org/r/46762/ to
> have a try with mesos-execute.
>
> Thanks,
>
> Guangya
>
> On Wed, May 18, 2016 at 7:17 PM, Olivier Sallou <[email protected]>
> wrote:
>
>> Answering (partially) to myself.
>>
>> I seems issue is container_path does not exists inside container. On
>> Docker, path is created and mounted. With pure mesos, container_path
>> must exists.
>>
>> mesos.proto says: "If the path is an absolute path, that path must
>> already exist."
>>
>> This is an issue however, using Docker images, the path I want to mount
>> does not exists, and it cannot be modified "on the fly".
>>
>> Is there a workaround for this ?
>>
>>
>> On 05/18/2016 12:24 PM, Olivier Sallou wrote:
>> > Hi,
>> > I am trying unified containerizer on a single server (master/slave) on
>> > mesos 0.28.1, to switch from docker containerizer to mesos+docker image
>> > container.
>> >
>> > I have setup slave config as suggested in documentation:
>> >
>> > containerizers=docker,mesos
>> > image_providers=docker \
>> > isolation=filesystem/linux,docker/runtime
>> >
>> > However, when I execute my task with a volume I have an error:
>> >
>> > ....
>> > + mount -n --rbind
>> >
>> /tmp/mesos/provisioner/containers/2d7ea311-5e8b-440f-a3ca-a40e1b946b8e/backends/copy/rootfses/f9f66bb2-308d-4555-ba77-49ec61cbeb4f
>> >
>> /tmp/mesos/slaves/2a296daf-7419-4659-ade1-763c792cd522-S0/frameworks/aef1b0e3-ea2d-4770-baac-96d673ab88f9-0000/executors/51/runs/2d7ea311-5e8b-440f-a3ca-a40e1b946b8e/.rootfs
>> > + mount -n --rbind
>> >
>> /home/osallou/Development/NOSAVE/go-docker/godshared/tasks/pairtree_root/us/er/_o/sa/ll/ou/task
>> >
>> /tmp/mesos/slaves/2a296daf-7419-4659-ade1-763c792cd522-S0/frameworks/aef1b0e3-ea2d-4770-baac-96d673ab88f9-0000/executors/51/runs/2d7ea311-5e8b-440f-a3ca-a40e1b946b8e/.rootfs/mnt/god-data
>> > mount: mount point
>> >
>> /tmp/mesos/slaves/2a296daf-7419-4659-ade1-763c792cd522-S0/frameworks/aef1b0e3-ea2d-4770-baac-96d673ab88f9-0000/executors/51/runs/2d7ea311-5e8b-440f-a3ca-a40e1b946b8e/.rootfs/mnt/god-data
>> > does not exist
>> > Failed to execute a preparation shell command
>> >
>> > Then, my task switches to FAILED.
>> >
>> > I define a local volume to bind mount in my "container"
>> >
>> /home/osallou/Development/NOSAVE/go-docker/godshared/tasks/pairtree_root/us/er/_o/sa/ll/ou/task
>> > => /mnt/god-data
>> > My directory exists on local server.
>> > In mesos UI, I can see the .rootfs directory along stdout and stderr
>> > files, and inside .rootfs, I can see /mnt/god-data (empty).
>> >
>> > Running the same using Docker containerizer instead of mesos
>> > containerizer (with a Docker image) works fine.
>> >
>> > It seems it fails to mount my local directory in the container. Any idea
>> > of what is going wrong or how to debug this?
>> >
>> >
>> > Thanks
>> >
>>
>> --
>> Olivier Sallou
>> IRISA / University of Rennes 1
>> Campus de Beaulieu, 35000 RENNES - FRANCE
>> Tel: 02.99.84.71.95
>>
>> gpg key id: 4096R/326D8438  (keyring.debian.org)
>> Key fingerprint = 5FB4 6F83 D3B9 5204 6335  D26D 78DC 68DB 326D 8438
>>
>>
>

Reply via email to