Return-Path: X-Original-To: apmail-mesos-issues-archive@minotaur.apache.org Delivered-To: apmail-mesos-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id F02FB18A7A for ; Tue, 22 Dec 2015 23:17:46 +0000 (UTC) Received: (qmail 64760 invoked by uid 500); 22 Dec 2015 23:17:46 -0000 Delivered-To: apmail-mesos-issues-archive@mesos.apache.org Received: (qmail 64728 invoked by uid 500); 22 Dec 2015 23:17:46 -0000 Mailing-List: contact issues-help@mesos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mesos.apache.org Delivered-To: mailing list issues@mesos.apache.org Received: (qmail 64714 invoked by uid 99); 22 Dec 2015 23:17:46 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 22 Dec 2015 23:17:46 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 95C572C0451 for ; Tue, 22 Dec 2015 23:17:46 +0000 (UTC) Date: Tue, 22 Dec 2015 23:17:46 +0000 (UTC) From: "Jie Yu (JIRA)" To: issues@mesos.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (MESOS-4240) Pull provisioner from linux filesystem isolator to Mesos containerizer. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/MESOS-4240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jie Yu updated MESOS-4240: -------------------------- Description: The rationale behind this change is that many of the image specifications (e.g., Docker/Appc) are not just for filesystems. They also specify runtime configurations (e.g., environment variables, volumes, etc) for the container. Provisioner should return those runtime configurations to the Mesos containerizer and Mesos containerizer will delegate the isolation of those runtime configurations to the relevant isolator. Here is what it will be look like eventually. We could do those changes in phases: 1) Provisioner will return a ProvisionInfo which includes an optional 'rootfs' and image specific runtime configurations (could be the Docker/Appc manifest). 2) Then, the Mesos containerizer will generate a ContainerConfig (a protobuf which includes rootfs, sandbox, docker/appc manifest, similar to OCI's host independent config.json) and pass that to each isolator in 'prepare'. Imaging in the future, a DockerRuntimeIsolator takes the docker manifest from ContainerConfig and prepare the container. 3) The isolator's prepare function will return a ContainerLaunchInfo (contains environment variables, namespaces, etc.) which will be used by Mesos containerize to launch containers. Imaging that information will be passed to the launcher in the future. We can do the renaming (ContainerPrepareInfo -> ContainerLaunchInfo) later. was: The rationale behind this change is that many of the image specifications (e.g., Docker/Appc) are not just for filesystems. They also specify runtime configurations (e.g., environment variables, volumes, etc) for the container. Provisioner should return those runtime configurations to the Mesos containerizer and Mesos containerizer will delegate the isolation of those runtime configurations to the relevant isolator. Provisioner will return a ProvisionInfo (a protobuf) which will be passed to isolators (the 'prepare' interface). ProvisionInfo includes an optional 'rootfs' and image specific runtime configurations (could be the Docker/Appc manifest). > Pull provisioner from linux filesystem isolator to Mesos containerizer. > ----------------------------------------------------------------------- > > Key: MESOS-4240 > URL: https://issues.apache.org/jira/browse/MESOS-4240 > Project: Mesos > Issue Type: Task > Reporter: Jie Yu > Assignee: Gilbert Song > > The rationale behind this change is that many of the image specifications (e.g., Docker/Appc) are not just for filesystems. They also specify runtime configurations (e.g., environment variables, volumes, etc) for the container. > Provisioner should return those runtime configurations to the Mesos containerizer and Mesos containerizer will delegate the isolation of those runtime configurations to the relevant isolator. > Here is what it will be look like eventually. We could do those changes in phases: > 1) Provisioner will return a ProvisionInfo which includes an optional 'rootfs' and image specific runtime configurations (could be the Docker/Appc manifest). > 2) Then, the Mesos containerizer will generate a ContainerConfig (a protobuf which includes rootfs, sandbox, docker/appc manifest, similar to OCI's host independent config.json) and pass that to each isolator in 'prepare'. Imaging in the future, a DockerRuntimeIsolator takes the docker manifest from ContainerConfig and prepare the container. > 3) The isolator's prepare function will return a ContainerLaunchInfo (contains environment variables, namespaces, etc.) which will be used by Mesos containerize to launch containers. Imaging that information will be passed to the launcher in the future. > We can do the renaming (ContainerPrepareInfo -> ContainerLaunchInfo) later. -- This message was sent by Atlassian JIRA (v6.3.4#6332)