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

Review request for mesos and Joseph Wu.


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


Repository: mesos


Description
-------

Adds the external process container logger. This functions like the
logrotate container logger, but instead calls a custom host binary
(or script) and passes the executorInfo as JSON and base64 protobuf
via environment variables. This makes it very easy for users to
configure custom logging solutions, without needing to write and
maintain logging modules.

Tests passing and complete.


Diffs
-----

  src/CMakeLists.txt 85eb2b855e87d432b9f9c9baa9a5b243928547f7 
  src/Makefile.am d0f937d8879b11fac793b73f529762e95a9ff1e4 
  src/slave/container_loggers/lib_externallogger.hpp PRE-CREATION 
  src/slave/container_loggers/lib_externallogger.cpp PRE-CREATION 
  src/slave/containerizer/mesos/isolators/cgroups/cgroups.cpp 
1b84a561cd9498b85d03e901c4372e4f1293f185 
  src/slave/containerizer/mesos/isolators/cgroups/constants.hpp 
3146cc6ee8532f7bd2a98881d0dc9c9cf5c607df 
  src/slave/containerizer/mesos/isolators/cgroups/subsystem.cpp 
9789cf6a0f87eef5293331832369e6fb46e417e4 
  src/slave/containerizer/mesos/isolators/cgroups/subsystems/cpuacct.hpp 
10fbbc9cb39a3b41d64cc090b0e890a2416b2306 
  src/slave/containerizer/mesos/isolators/cgroups/subsystems/cpuacct.cpp 
a35ecb073acefb903d7e8c4737d6cd048a2b494d 
  src/tests/container_logger_external.sh PRE-CREATION 
  src/tests/container_logger_tests.cpp efadceafca5721bce4dbffadb35f54fd5365abb0 
  src/tests/module.hpp e661d95fa44fc1aedfe83c564c826d5b7d32c85b 
  src/tests/module.cpp 5b83fd6358ddea4c9d849b8992e1a6040ef74505 

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


Testing
-------

Adds ContainerLoggerTest.EXTERNAL_RecieveEnvironment which tests all major 
parameters of the change.

A synthetic external container logger is provided by the script 
tests/container_logger_external.sh which is setup to fail if any important 
output is unavailable to the logging process. 

The other basic checks are duplicated from the Logrotate container logger, from 
where this change inherits a lot of its code.


Thanks,

Will Rouesnel

Reply via email to