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