You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Shuai Lin <li...@gmail.com> on 2016/02/24 17:38:47 UTC
Review Request 43932: Added overlayfs provisioning backend.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/
-----------------------------------------------------------
Review request for mesos and Jie Yu.
Bugs: MESOS-2971
https://issues.apache.org/jira/browse/MESOS-2971
Repository: mesos
Description
-------
Added overlayfs provisioning backend.
Diffs
-----
src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
Diff: https://reviews.apache.org/r/43932/diff/
Testing
-------
sudo modprobe overlayfs
sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
- OS: ubuntu 14.04 64bit vm
- Kernel: 4.2.0-27-generic
Thanks,
Shuai Lin
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Cong Wang <xi...@gmail.com>.
> On Feb. 25, 2016, 2:52 a.m., Guangya Liu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp, line 106
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268084#file1268084line106>
> >
> > just a question, does there are any policy when to use `Failure` and `Error`
Failure is for Future, Error is for Try/Result.
- Cong
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120649
-----------------------------------------------------------
On Feb. 24, 2016, 4:38 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 24, 2016, 4:38 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Guangya Liu <gy...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120649
-----------------------------------------------------------
src/slave/containerizer/mesos/provisioner/backend.cpp (lines 23 - 24)
<https://reviews.apache.org/r/43932/#comment182110>
add a blank line here
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 55)
<https://reviews.apache.org/r/43932/#comment182111>
what about adding user name in the Error message?
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 106)
<https://reviews.apache.org/r/43932/#comment182112>
just a question, does there are any policy when to use `Failure` and `Error`
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 115)
<https://reviews.apache.org/r/43932/#comment182113>
return Failure(
"Failed to create container rootfs at '" + rootfs + "': " + mkdir.error());
- Guangya Liu
On 二月 24, 2016, 4:38 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated 二月 24, 2016, 4:38 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review121158
-----------------------------------------------------------
Patch looks great!
Reviews applied: [43718, 43932]
Passed command: export OS='ubuntu:14.04' CONFIGURATION='--verbose' COMPILER='gcc' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh
- Mesos ReviewBot
On Feb. 28, 2016, 5:22 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 28, 2016, 5:22 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Shuai Lin <li...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/
-----------------------------------------------------------
(Updated Feb. 28, 2016, 5:22 p.m.)
Review request for mesos and Jie Yu.
Bugs: MESOS-2971
https://issues.apache.org/jira/browse/MESOS-2971
Repository: mesos
Description
-------
Added overlayfs provisioning backend.
Diffs (updated)
-----
src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
Diff: https://reviews.apache.org/r/43932/diff/
Testing
-------
sudo modprobe overlayfs
sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
- OS: ubuntu 14.04 64bit vm
- Kernel: 4.2.0-27-generic
Thanks,
Shuai Lin
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Shuai Lin <li...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/
-----------------------------------------------------------
(Updated Feb. 28, 2016, 5:17 p.m.)
Review request for mesos and Jie Yu.
Changes
-------
Address review comments.
Bugs: MESOS-2971
https://issues.apache.org/jira/browse/MESOS-2971
Repository: mesos
Description
-------
Added overlayfs provisioning backend.
Diffs (updated)
-----
src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
Diff: https://reviews.apache.org/r/43932/diff/
Testing
-------
sudo modprobe overlayfs
sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
- OS: ubuntu 14.04 64bit vm
- Kernel: 4.2.0-27-generic
Thanks,
Shuai Lin
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120540
-----------------------------------------------------------
Patch looks great!
Reviews applied: [43718, 43932]
Passed command: export OS='ubuntu:14.04' CONFIGURATION='--verbose' COMPILER='gcc' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh
- Mesos ReviewBot
On Feb. 24, 2016, 4:38 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 24, 2016, 4:38 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Shuai Lin <li...@gmail.com>.
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp, lines 124-129
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268084#file1268084line124>
> >
> > To be safe, can you do the same thing to mark the mount as slave+shared (like we did in the bind backend).
> >
> > So the goal of doing that is: we want to make sure when slave fork a subprocess with a new mount namespace, it does not create an extra reference to the mount so that rmdir might fail later.
>
> Shuai Lin wrote:
> Updated. I am interested in how to reprduce the potential problem, but failed to reproduce with these shell commands:
>
>
> ```sh
> mkdir -p /tmp/rootfs/folder1 /tmp/layer1
> mount --bind /tmp/layer1 /tmp/rootfs/folder1
>
> # create a subprocess with a new mount namespace
> unshare -m sleep 1000 &
>
> # Try to remove the mount dir, Expected: rm would failed, Result: rm succeeded.
> umount /tmp/rootfs/folder1
> rm -rf /tmp/rootfs
> ```
>
> I've also read about https://issues.apache.org/jira/browse/MESOS-3483 and https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt, but still don't understand this problem, can you provide some links on this?
>
> Jie Yu wrote:
> I think you're using a newer kernel. See this thread:
> https://lwn.net/Articles/570338/
>
> You should be able to repo this problem using an older kernel (e.g., 3.10).
Right, I was using kernel 4.2.0 (for better overlayfs support). With another ubuntu 12.04 vm with kernel 3.2.0 I can reproduce the bug with the above commands. Thanks!
- Shuai
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120750
-----------------------------------------------------------
On Feb. 28, 2016, 5:22 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 28, 2016, 5:22 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Jie Yu <yu...@gmail.com>.
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp, lines 124-129
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268084#file1268084line124>
> >
> > To be safe, can you do the same thing to mark the mount as slave+shared (like we did in the bind backend).
> >
> > So the goal of doing that is: we want to make sure when slave fork a subprocess with a new mount namespace, it does not create an extra reference to the mount so that rmdir might fail later.
>
> Shuai Lin wrote:
> Updated. I am interested in how to reprduce the potential problem, but failed to reproduce with these shell commands:
>
>
> ```sh
> mkdir -p /tmp/rootfs/folder1 /tmp/layer1
> mount --bind /tmp/layer1 /tmp/rootfs/folder1
>
> # create a subprocess with a new mount namespace
> unshare -m sleep 1000 &
>
> # Try to remove the mount dir, Expected: rm would failed, Result: rm succeeded.
> umount /tmp/rootfs/folder1
> rm -rf /tmp/rootfs
> ```
>
> I've also read about https://issues.apache.org/jira/browse/MESOS-3483 and https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt, but still don't understand this problem, can you provide some links on this?
I think you're using a newer kernel. See this thread:
https://lwn.net/Articles/570338/
You should be able to repo this problem using an older kernel (e.g., 3.10).
- Jie
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120750
-----------------------------------------------------------
On Feb. 28, 2016, 5:22 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 28, 2016, 5:22 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Shuai Lin <li...@gmail.com>.
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.hpp, lines 30-31
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268083#file1268083line30>
> >
> > can you wrap comments in 70 char width. It's less jagged IMO.
done
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp, lines 124-129
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268084#file1268084line124>
> >
> > To be safe, can you do the same thing to mark the mount as slave+shared (like we did in the bind backend).
> >
> > So the goal of doing that is: we want to make sure when slave fork a subprocess with a new mount namespace, it does not create an extra reference to the mount so that rmdir might fail later.
Updated. I am interested in how to reprduce the potential problem, but failed to reproduce with these shell commands:
```sh
mkdir -p /tmp/rootfs/folder1 /tmp/layer1
mount --bind /tmp/layer1 /tmp/rootfs/folder1
# create a subprocess with a new mount namespace
unshare -m sleep 1000 &
# Try to remove the mount dir, Expected: rm would failed, Result: rm succeeded.
umount /tmp/rootfs/folder1
rm -rf /tmp/rootfs
```
I've also read about https://issues.apache.org/jira/browse/MESOS-3483 and https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt, but still don't understand this problem, can you provide some links on this?
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp, lines 132-133
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268084#file1268084line132>
> >
> > Can you align the error message:
> > ```
> > return Failure(
> > "Failed to remount rootfs '" + rootfs +
> > "' read-only: " + mount.error());
> > ```
Reformatted this function with clang-format.
> On Feb. 25, 2016, 11:40 p.m., Jie Yu wrote:
> > src/tests/containerizer/provisioner_backend_tests.cpp, line 51
> > <https://reviews.apache.org/r/43932/diff/1/?file=1268086#file1268086line51>
> >
> > We should add an TearDown method to unmount anything under sandbox. You can take a look at fs::unmountAll.
Refactored out the `TearDown` method of BindBackendTest into a common `MountBackendTest` class so it could be reused for all mount-based backend like bind/overlay/aufs.
- Shuai
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120750
-----------------------------------------------------------
On Feb. 24, 2016, 4:38 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 24, 2016, 4:38 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>
Re: Review Request 43932: Added overlayfs provisioning backend.
Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43932/#review120750
-----------------------------------------------------------
Fix it, then Ship it!
Thanks! This is great!
src/slave/containerizer/mesos/provisioner/backend.cpp (line 50)
<https://reviews.apache.org/r/43932/#comment182221>
Kill this line.
src/slave/containerizer/mesos/provisioner/backend.cpp (line 52)
<https://reviews.apache.org/r/43932/#comment182222>
Add a new line above.
src/slave/containerizer/mesos/provisioner/backends/overlay.hpp (lines 30 - 31)
<https://reviews.apache.org/r/43932/#comment182223>
can you wrap comments in 70 char width. It's less jagged IMO.
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 28)
<https://reviews.apache.org/r/43932/#comment182224>
Let's use 'using process::XXX' explicitly. We try to avoid using 'using namespace'.
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (lines 124 - 129)
<https://reviews.apache.org/r/43932/#comment182293>
To be safe, can you do the same thing to mark the mount as slave+shared (like we did in the bind backend).
So the goal of doing that is: we want to make sure when slave fork a subprocess with a new mount namespace, it does not create an extra reference to the mount so that rmdir might fail later.
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (lines 132 - 133)
<https://reviews.apache.org/r/43932/#comment182238>
Can you align the error message:
```
return Failure(
"Failed to remount rootfs '" + rootfs +
"' read-only: " + mount.error());
```
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 143)
<https://reviews.apache.org/r/43932/#comment182239>
Kill this line.
src/slave/containerizer/mesos/provisioner/backends/overlay.cpp (line 148)
<https://reviews.apache.org/r/43932/#comment182240>
You can use mountTable->entries
src/tests/containerizer/provisioner_backend_tests.cpp (line 50)
<https://reviews.apache.org/r/43932/#comment182297>
kill this line.
src/tests/containerizer/provisioner_backend_tests.cpp (line 51)
<https://reviews.apache.org/r/43932/#comment182306>
We should add an TearDown method to unmount anything under sandbox. You can take a look at fs::unmountAll.
src/tests/containerizer/provisioner_backend_tests.cpp (lines 78 - 79)
<https://reviews.apache.org/r/43932/#comment182302>
You can do EXPECT_SOME_EQ("1", read);
src/tests/containerizer/provisioner_backend_tests.cpp (lines 83 - 84)
<https://reviews.apache.org/r/43932/#comment182303>
Ditto.
src/tests/containerizer/provisioner_backend_tests.cpp (lines 87 - 88)
<https://reviews.apache.org/r/43932/#comment182304>
Ditto.
src/tests/environment.cpp (line 489)
<https://reviews.apache.org/r/43932/#comment182300>
`s/_OVERLAYFS_/OVERLAYFS_/`
- Jie Yu
On Feb. 24, 2016, 4:38 p.m., Shuai Lin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43932/
> -----------------------------------------------------------
>
> (Updated Feb. 24, 2016, 4:38 p.m.)
>
>
> Review request for mesos and Jie Yu.
>
>
> Bugs: MESOS-2971
> https://issues.apache.org/jira/browse/MESOS-2971
>
>
> Repository: mesos
>
>
> Description
> -------
>
> Added overlayfs provisioning backend.
>
>
> Diffs
> -----
>
> src/CMakeLists.txt b13fb23219ebb23bcfd6db062e1c814ca2114aa4
> src/Makefile.am 2a26261b513bb7c03437ed8e850c3b36b93d82f5
> src/slave/containerizer/mesos/provisioner/backend.cpp 01d06ebc67e259272ee57ea5c75bf7077ede65c4
> src/slave/containerizer/mesos/provisioner/backends/overlay.hpp PRE-CREATION
> src/slave/containerizer/mesos/provisioner/backends/overlay.cpp PRE-CREATION
> src/slave/flags.cpp 1c6a87b670efde2deab4d6e3f24fd6eb3704a47d
> src/tests/containerizer/provisioner_backend_tests.cpp 25b28ef8fa5aae81e8dd0c9e33df4160dd912ce8
> src/tests/environment.cpp 6cd295f76496770774d090e0485ff87be378f74c
>
> Diff: https://reviews.apache.org/r/43932/diff/
>
>
> Testing
> -------
>
> sudo modprobe overlayfs
> sudo make check -j4 GTEST_FILTER='OverlayBackendTest.ROOT_OVERLAYFS_OverlayFSBackend'
>
> - OS: ubuntu 14.04 64bit vm
> - Kernel: 4.2.0-27-generic
>
>
> Thanks,
>
> Shuai Lin
>
>