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 >> >> >
