You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mesos.apache.org by "Jason Dusek (JIRA)" <ji...@apache.org> on 2013/11/17 00:47:20 UTC

[jira] [Updated] (MESOS-816) Allow delegation to shell scripts for isolation

     [ https://issues.apache.org/jira/browse/MESOS-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Dusek updated MESOS-816:
------------------------------

    Attachment: mesos-shell-isolator.jpg

> Allow delegation to shell scripts for isolation
> -----------------------------------------------
>
>                 Key: MESOS-816
>                 URL: https://issues.apache.org/jira/browse/MESOS-816
>             Project: Mesos
>          Issue Type: Improvement
>          Components: isolation, slave
>            Reporter: Jason Dusek
>            Priority: Minor
>         Attachments: mesos-shell-isolator.jpg
>
>   Original Estimate: 72h
>  Remaining Estimate: 72h
>
> Delegating to shell scripts for isolation would make it easily to leverage the machinery provided by the LXC tools, LibVirt, VirtualBox and similar systems.
> Why go through command line tools for isolation? Such tools manage a great deal of the book-keeping around finding and efficiently cloning disk images and setting up the guest system (its hostname, TTYs, /dev/*, /proc) in a way that is broadly useful.
> A shell isolator would be called by the slave, with arguments allowing it to ultimately start the executor under isolation.
> One possible design is as follows:
> * The slave calls the isolator with two arguments: a path to a Mesos boot strap tool (a reimagining of mesos-launcher?) and a URL indicating how to connect to the slave.
>     mesos-libvirt /usr/sbin/mesos-bootstrap localhost:5051
> * The isolator sets up a container and runs mesos-bootstrap therein, copying it (and attendant libraries?) as needed.
> * The mesos-bootstrap tool connects to the slave and retrieves the ExecutorInfo structure. It uses this information to launch the executor.
> * The executor connects to the slave and receives TaskInfos.
> Some questions arise with this design:
> * How do we ensure libraries needed by mesos-bootstrap are present?
> * What can we do to make it easier for the user to include libraries with the executor? Should directories to copy or union mount in to the container be part of the argument specification for the isolator?



--
This message was sent by Atlassian JIRA
(v6.1#6144)