mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Klues <>
Subject Re: Review Request 51406: Updated 'launcher' to optionally spawn an 'init' process.
Date Fri, 26 Aug 2016 00:34:36 GMT

This is an automatically generated e-mail. To reply, visit:

(Updated Aug. 26, 2016, 12:34 a.m.)

Review request for mesos and Jie Yu.


Handle error when calling `forwardSignals()`

Bugs: MESOS-6088

Repository: mesos


Previously the 'mesos-containerizer launch' binary would simply exec
into the actual command we wanted to launch after doing some set of
preperatory work. The problem with this approach, however, is that
this gives us no opportunity to checkpoint the exit status of the
command so the agent can recover it in cases where it is offline at
the time the command completes.

To compensate for this, we now allow 'mesos-containerizer launch' to
take an optional '--exit_status_path' parameter, which indicates where
the exit status of our command should be checkpointed. In order to
do this checkpointing, however, we cannot simply exec into the command
anymore. Instead we now fork-exec the command and reap it once it
completes. We then checkpoint its exit status and return it as our
own. We call the original process the 'init' process of the container
and the fork-exec'd process its child.  As a side effect of doing
things this way, we also have to be careful to forward all signals
sent to the init process down to the child.

In a subsequent commit we will update the mesos containerizer to use
this new functionality.

Diffs (updated)

  src/slave/containerizer/mesos/launch.hpp 0e86da9c7bd9c7fbedd7102d66b902d1c10e5e0b 
  src/slave/containerizer/mesos/launch.cpp 2db8db5ac2f4614d406b950a1b4e8098a0d90e7b 
  src/slave/containerizer/mesos/launcher.cpp 413a8afdc56127a58c9599c436d17d6c98e62434 
  src/slave/containerizer/mesos/linux_launcher.cpp 7377316776646e3d660086da3c0d5b494ce8ace4




Kevin Klues

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message