mesos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "TILL TOENSHOFF" <toensh...@me.com>
Subject Re: Review Request 17567: Pluggable Containerizer
Date Tue, 18 Feb 2014 16:30:19 GMT

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

(Updated Feb. 18, 2014, 4:30 p.m.)


Review request for mesos, Benjamin Hindman and Niklas Nielsen.


Changes
-------

The PluggableContainerizer expects the following protobuf results from the external containerizer
implementation;
  wait:     PluggableTermination
  usage:    ResourceStatistics
  update:   PluggableStatus
  destroy:  PluggableStatus
  launch:   PluggableStatus

Replaced most CHECKs with much more graceful LOG(ERROR)s and Future-Failures to achieve TASK_FAILEDs
on problems that could be triggered by erroneous external containerizer implementations.

The exernal containerizer is terminated in case of invalid results received by the PluggableContainerizer.


Repository: mesos-git


Description
-------

This patch adds the so-called pluggable containerizer. This
containerizer delegates all containerizer calls directly to
an external containerizer program (which can be specified on
start-up). Few calls have internal fall-back implementations
such as wait(), destroy() and usage().
The protocol for the interactions with the external program
is as follows:
./containerizer <command> <container-id> (<optional parameters>)
When protocol buffers need to be provided, the Mesos side of
the pluggable containerizer will serialize the protos on stdin
and vice-versa for reading protos on stdout.


NOTE: Still work in progress and not yet reviewable.


Diffs (updated)
-----

  configure.ac a8bc8a8 
  include/mesos/mesos.proto 69a4a60 
  src/Makefile.am 768c66a 
  src/examples/python/test-containerizer.in PRE-CREATION 
  src/examples/python/test_containerizer.py PRE-CREATION 
  src/slave/containerizer/containerizer.hpp d9ae326 
  src/slave/containerizer/containerizer.cpp d0a1023 
  src/slave/containerizer/mesos_containerizer.hpp ee1fd30 
  src/slave/containerizer/mesos_containerizer.cpp 6d990cb 
  src/slave/containerizer/pluggable_containerizer.hpp PRE-CREATION 
  src/slave/containerizer/pluggable_containerizer.cpp PRE-CREATION 
  src/slave/flags.hpp e4d98a5 
  src/slave/slave.hpp d82d4e9 
  src/slave/slave.cpp 8ad955a 
  src/slave/status_update_manager.cpp a88bb18 
  src/tests/containerizer.hpp 5686398 
  src/tests/containerizer.cpp bfb9341 
  src/tests/mesos.cpp 98333a7 
  src/tests/pluggable_containerizer_test.cpp PRE-CREATION 

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


Testing
-------


Thanks,

TILL TOENSHOFF


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