Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-4240

Pull provisioner from linux filesystem isolator to Mesos containerizer.

    XMLWordPrintableJSON

Details

    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 a '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.

      Attachments

        Issue Links

          Activity

            People

              gilbert Gilbert Song
              jieyu Jie Yu
              Jie Yu Jie Yu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: