You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Jie Yu <yu...@gmail.com> on 2016/04/29 01:59:35 UTC

Review Request 46807: Simplified the rootfs preparation logic for command tasks.

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

Review request for mesos, Gilbert Song, Ian Downes, and Joseph Wu.


Repository: mesos


Description
-------

This patch simplifies the way we deal with rootfs for command tasks.
Here are the major simplifications:

1) We no longer do a bind mount (<rootfs> -> <sandbox>/.rootfs) for
command tasks. All isolators can now assume that for both custom
executors or command tasks, if they change root filesystems, the root
filesystems will be specified in 'containerConfig.rootfs'. This will
simplify isolators' logic.

2) The sandbox bind mount will be done in the container's mount
namespace. Currently, it's done in the host mount namespace. This
creates a lot of complications, especially during the cleanup and
recovery path.

3) All persistent volumes will be consistently mounted under the
container's sandbox directory. Currently, depending on whether the
container changes the root filesystem or not, the persistent volumes
will be mounted at different locations. This simplifies the cleanup and
recovery path as well.


Diffs
-----

  docs/container-image.md 843881e9c3d0c434fedff44f4125154dee6d52c6 
  src/launcher/executor.cpp 9f1d2168bc4ddbce1bcd25ff38dc1c34714eb28b 
  src/launcher/http_command_executor.cpp 0b4136c040ec9cf585c0d38f8471495a855cd640 
  src/slave/constants.hpp c24167f273bf57d360895e9167b4249e560c3c59 
  src/slave/containerizer/mesos/containerizer.hpp 13399f014dcd85defbff79f3b5aa4e7e75d41fd1 
  src/slave/containerizer/mesos/containerizer.cpp 8d538954d6e1f13e833d75c2eaa37e700278ee0c 
  src/slave/containerizer/mesos/isolators/filesystem/linux.hpp cb181265482c884b02bdfc576f906aa0dd9f00f2 
  src/slave/containerizer/mesos/isolators/filesystem/linux.cpp a6e748ae777b6280f5dab0a6fec7305f931f2c22 
  src/slave/slave.cpp 5aa1530a3f6b2fdb7196fc65b133ab6afaaa6a53 

Diff: https://reviews.apache.org/r/46807/diff/


Testing
-------

sudo make check


Thanks,

Jie Yu


Re: Review Request 46807: Simplified the rootfs preparation logic for command tasks.

Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46807/#review131051
-----------------------------------------------------------



Patch looks great!

Reviews applied: [46807]

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 April 29, 2016, 1:19 a.m., Jie Yu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/46807/
> -----------------------------------------------------------
> 
> (Updated April 29, 2016, 1:19 a.m.)
> 
> 
> Review request for mesos, Gilbert Song, Ian Downes, and Joseph Wu.
> 
> 
> Bugs: MESOS-5306 and MESOS-5307
>     https://issues.apache.org/jira/browse/MESOS-5306
>     https://issues.apache.org/jira/browse/MESOS-5307
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch simplifies the way we deal with rootfs for command tasks.
> Here are the major simplifications:
> 
> 1) We no longer do a bind mount (<rootfs> -> <sandbox>/.rootfs) for
> command tasks. All isolators can now assume that for both custom
> executors or command tasks, if they change root filesystems, the root
> filesystems will be specified in 'containerConfig.rootfs'. This will
> simplify isolators' logic.
> 
> 2) The sandbox bind mount will be done in the container's mount
> namespace. Currently, it's done in the host mount namespace. This
> creates a lot of complications, especially during the cleanup and
> recovery path.
> 
> 3) All persistent volumes will be consistently mounted under the
> container's sandbox directory. Currently, depending on whether the
> container changes the root filesystem or not, the persistent volumes
> will be mounted at different locations. This simplifies the cleanup and
> recovery path as well.
> 
> 
> Diffs
> -----
> 
>   docs/container-image.md 843881e9c3d0c434fedff44f4125154dee6d52c6 
>   src/launcher/executor.cpp 9f1d2168bc4ddbce1bcd25ff38dc1c34714eb28b 
>   src/launcher/http_command_executor.cpp 0b4136c040ec9cf585c0d38f8471495a855cd640 
>   src/slave/constants.hpp c24167f273bf57d360895e9167b4249e560c3c59 
>   src/slave/containerizer/mesos/containerizer.hpp 13399f014dcd85defbff79f3b5aa4e7e75d41fd1 
>   src/slave/containerizer/mesos/containerizer.cpp 8d538954d6e1f13e833d75c2eaa37e700278ee0c 
>   src/slave/containerizer/mesos/isolators/filesystem/linux.hpp cb181265482c884b02bdfc576f906aa0dd9f00f2 
>   src/slave/containerizer/mesos/isolators/filesystem/linux.cpp a6e748ae777b6280f5dab0a6fec7305f931f2c22 
>   src/slave/slave.cpp 5aa1530a3f6b2fdb7196fc65b133ab6afaaa6a53 
> 
> Diff: https://reviews.apache.org/r/46807/diff/
> 
> 
> Testing
> -------
> 
> sudo make check
> 
> 
> Thanks,
> 
> Jie Yu
> 
>


Re: Review Request 46807: Simplified the rootfs preparation logic for command tasks.

Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46807/
-----------------------------------------------------------

(Updated April 29, 2016, 1:19 a.m.)


Review request for mesos, Gilbert Song, Ian Downes, and Joseph Wu.


Bugs: MESOS-5306 and MESOS-5307
    https://issues.apache.org/jira/browse/MESOS-5306
    https://issues.apache.org/jira/browse/MESOS-5307


Repository: mesos


Description
-------

This patch simplifies the way we deal with rootfs for command tasks.
Here are the major simplifications:

1) We no longer do a bind mount (<rootfs> -> <sandbox>/.rootfs) for
command tasks. All isolators can now assume that for both custom
executors or command tasks, if they change root filesystems, the root
filesystems will be specified in 'containerConfig.rootfs'. This will
simplify isolators' logic.

2) The sandbox bind mount will be done in the container's mount
namespace. Currently, it's done in the host mount namespace. This
creates a lot of complications, especially during the cleanup and
recovery path.

3) All persistent volumes will be consistently mounted under the
container's sandbox directory. Currently, depending on whether the
container changes the root filesystem or not, the persistent volumes
will be mounted at different locations. This simplifies the cleanup and
recovery path as well.


Diffs
-----

  docs/container-image.md 843881e9c3d0c434fedff44f4125154dee6d52c6 
  src/launcher/executor.cpp 9f1d2168bc4ddbce1bcd25ff38dc1c34714eb28b 
  src/launcher/http_command_executor.cpp 0b4136c040ec9cf585c0d38f8471495a855cd640 
  src/slave/constants.hpp c24167f273bf57d360895e9167b4249e560c3c59 
  src/slave/containerizer/mesos/containerizer.hpp 13399f014dcd85defbff79f3b5aa4e7e75d41fd1 
  src/slave/containerizer/mesos/containerizer.cpp 8d538954d6e1f13e833d75c2eaa37e700278ee0c 
  src/slave/containerizer/mesos/isolators/filesystem/linux.hpp cb181265482c884b02bdfc576f906aa0dd9f00f2 
  src/slave/containerizer/mesos/isolators/filesystem/linux.cpp a6e748ae777b6280f5dab0a6fec7305f931f2c22 
  src/slave/slave.cpp 5aa1530a3f6b2fdb7196fc65b133ab6afaaa6a53 

Diff: https://reviews.apache.org/r/46807/diff/


Testing
-------

sudo make check


Thanks,

Jie Yu


Re: Review Request 46807: Simplified the rootfs preparation logic for command tasks.

Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/46807/
-----------------------------------------------------------

(Updated April 29, 2016, 12:54 a.m.)


Review request for mesos, Gilbert Song, Ian Downes, and Joseph Wu.


Bugs: MESOS-5306
    https://issues.apache.org/jira/browse/MESOS-5306


Repository: mesos


Description
-------

This patch simplifies the way we deal with rootfs for command tasks.
Here are the major simplifications:

1) We no longer do a bind mount (<rootfs> -> <sandbox>/.rootfs) for
command tasks. All isolators can now assume that for both custom
executors or command tasks, if they change root filesystems, the root
filesystems will be specified in 'containerConfig.rootfs'. This will
simplify isolators' logic.

2) The sandbox bind mount will be done in the container's mount
namespace. Currently, it's done in the host mount namespace. This
creates a lot of complications, especially during the cleanup and
recovery path.

3) All persistent volumes will be consistently mounted under the
container's sandbox directory. Currently, depending on whether the
container changes the root filesystem or not, the persistent volumes
will be mounted at different locations. This simplifies the cleanup and
recovery path as well.


Diffs
-----

  docs/container-image.md 843881e9c3d0c434fedff44f4125154dee6d52c6 
  src/launcher/executor.cpp 9f1d2168bc4ddbce1bcd25ff38dc1c34714eb28b 
  src/launcher/http_command_executor.cpp 0b4136c040ec9cf585c0d38f8471495a855cd640 
  src/slave/constants.hpp c24167f273bf57d360895e9167b4249e560c3c59 
  src/slave/containerizer/mesos/containerizer.hpp 13399f014dcd85defbff79f3b5aa4e7e75d41fd1 
  src/slave/containerizer/mesos/containerizer.cpp 8d538954d6e1f13e833d75c2eaa37e700278ee0c 
  src/slave/containerizer/mesos/isolators/filesystem/linux.hpp cb181265482c884b02bdfc576f906aa0dd9f00f2 
  src/slave/containerizer/mesos/isolators/filesystem/linux.cpp a6e748ae777b6280f5dab0a6fec7305f931f2c22 
  src/slave/slave.cpp 5aa1530a3f6b2fdb7196fc65b133ab6afaaa6a53 

Diff: https://reviews.apache.org/r/46807/diff/


Testing
-------

sudo make check


Thanks,

Jie Yu