-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/45358/#review126907
-----------------------------------------------------------



I don't like the fact that we use 'sandbox' for scratch space. There are two 
reasons: 1) for command tasks, we'll bind mount rootfs into the sandbox. I 
don't want to introduce the complexity of cyclic dependency (rootfs depends on 
sandbox, sandbox has rootfs bind mounts). 2) we don't remove scratch space 
after container terminates. I'd like to avoid that.

Instead, could you please use the provisioner directory for that. More 
precisely, this is probably what you need:
1) in paths.hpp|cpp, introduce a method to get the backend directory: 
`getBackendDir(provisionerDir, containerId, backend);`
2) create scratch space for each container under 
backends/overlay/scratch/<rootfsid>.
3) For `provision` interface, you need to add a new parameter which is the 
backend dir for that container (provision(layers, rootfs, backendDir);)

In `provision`, you can use 'basename' to get the rootfsid and create the 
scratch space under backends/overlay/scratch.

- Jie Yu


On March 27, 2016, 2:41 p.m., Shuai Lin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45358/
> -----------------------------------------------------------
> 
> (Updated March 27, 2016, 2:41 p.m.)
> 
> 
> Review request for mesos, Gilbert Song, Guangya Liu, and Jie Yu.
> 
> 
> Bugs: MESOS-4944
>     https://issues.apache.org/jira/browse/MESOS-4944
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Improved overlay backend to make the rootfs writable.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/containerizer.cpp 
> e7f7e7fd1304e14dbfaab8b53cea16efc0417911 
>   src/slave/containerizer/mesos/provisioner/backend.hpp 
> c6cca81e287bb9a62e0390f96e1773841887a206 
>   src/slave/containerizer/mesos/provisioner/backends/bind.hpp 
> 9eda944e14f2b05f28620c2e40594ed4e7bab69e 
>   src/slave/containerizer/mesos/provisioner/backends/bind.cpp 
> 9b9f0b9e99a0fc0e9bad8fb2dad41acdc0ca1da1 
>   src/slave/containerizer/mesos/provisioner/backends/copy.hpp 
> b62507f9fc757349d39f39a6654ddd69053bf0e7 
>   src/slave/containerizer/mesos/provisioner/backends/copy.cpp 
> f353c89806816e85bb27875ef5fa68d5c0eaf9ca 
>   src/slave/containerizer/mesos/provisioner/backends/overlay.hpp 
> 85cc737438c88b355f37611bfde50dc80efab017 
>   src/slave/containerizer/mesos/provisioner/backends/overlay.cpp 
> 5cc0f8b5a8cd4c945023f874056a8184113186c5 
>   src/slave/containerizer/mesos/provisioner/provisioner.hpp 
> 5c96e9f6603d39889e6bc807874d35d0cb3556be 
>   src/slave/containerizer/mesos/provisioner/provisioner.cpp 
> 8a4938ebe4e00779e88e7c538445e9ffd51202e2 
>   src/tests/containerizer/mesos_containerizer_tests.cpp 
> 09742ff21513dc2570684d384b257868dd57a9ce 
>   src/tests/containerizer/provisioner_appc_tests.cpp 
> 23a5b1059b4d9fde1e4a1aab5cd4fa6d05862332 
>   src/tests/containerizer/provisioner_backend_tests.cpp 
> d49204f220c6212f83c2adf5544d04b3386c8eb7 
> 
> Diff: https://reviews.apache.org/r/45358/diff/
> 
> 
> Testing
> -------
> 
> - make check
> - tested manually, with slave using overlay backend. Create a task with mesos 
> containerizer, ubuntu docker image, with the command `mkdir -p /abc && touch 
> /abc/def.txt`.
> - also tested manually with alpine image to verify overlay backend could 
> support 1-layer images.
> 
> 
> Thanks,
> 
> Shuai Lin
> 
>

Reply via email to