----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/40922/ -----------------------------------------------------------
(Updated Dec. 22, 2015, 4:47 p.m.) Review request for Aurora. Changes ------- Rework patch on top of https://reviews.apache.org/r/30695/ Bugs: AURORA-1548 https://issues.apache.org/jira/browse/AURORA-1548 Repository: aurora Description ------- This patch will provide way to **optionally** forward process output to stdout and stderr along with existing file destinations. Its main use is to get logs to docker daemon when using Mesos Docker containerizer. **What was changed:** New command line option **log_to_std** is added to thermos_executor and thermos_runner. If thermos_executor gets this option it will pass it down to thermos_runner and runner will pass it down to **Process** class. New class **Tee** that mimicks behavior of unix tee utility that allows to split process output to file and stdout is core of this patch. subprocess.Popen in Process class used be opened with stdout/stderr file parameters. Now it will always get openend with subprocess.PIPE for stdout/stderr. Output of these pipes is constantly copied to Tee until process exits. If log_to_std is provided Tee will split output to expected files and stdout/stderr. Otherwise logs will be split to files and /dev/null. Diffs (updated) ----- NEWS ebfc3a6 docs/configuration-reference.md cf63cfa docs/deploying-aurora-scheduler.md 73b2e04 src/main/python/apache/aurora/executor/bin/thermos_executor_main.py 7b7ef4b src/main/python/apache/aurora/executor/thermos_task_runner.py 25fcca2 src/main/python/apache/thermos/config/schema_base.py 5552108 src/main/python/apache/thermos/core/process.py 8efdfdc src/main/python/apache/thermos/core/runner.py 11c06a8 src/main/python/apache/thermos/runner/thermos_runner.py a36bd2a src/test/python/apache/thermos/core/test_process.py 261371d Diff: https://reviews.apache.org/r/40922/diff/ Testing ------- Unit test coverage is provided for new functionality. I did also manual testing with mesos/docker and I made sure that logs are being written to expected files and also same output gets to docker daemon. Thanks, Martin Hrabovcin
