mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Guangya Liu <gyliu...@gmail.com>
Subject Re: volume / mount point error with Unified Containerizer
Date Wed, 18 May 2016 12:28:20 GMT
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 <olivier.sallou@irisa.fr>
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
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message