See <https://builds.apache.org/job/mesos-reviewbot/1273/changes>
Changes: [idownes] Fix stout/os to properly check errno from getpwnam_r. [bmahler] Removed unused code from future.hpp. [bmahler] Made WeakFuture<T>::get a const operation. [bmahler] Master detector cleanups. [bmahler] Handle discards on the master detection futures. [bmahler] Added a ping timeout in the slave to trigger a re-detection. [vinodkone] Fixed header paths for proto files during installation. [benjamin.hindman] Added a 'Docker' abstraction. [benjamin.hindman] Added a Docker containerizer. [benjamin.hindman] Bug fixes and cleanups in Docker abstraction. [benjamin.hindman] Integrated DockerContainerizer. [benjamin.hindman] Add environment test for Docker. [benjamin.hindman] Added pid() in docker/docker.cpp to get the pid of the container. [benjamin.hindman] Added Docker::ps() "all" option. [benjamin.hindman] Added rm() in docker.hpp/cpp to enable users remove containers. [benjamin.hindman] Modify validate Docker to call 'info' instead. [benjamin.hindman] Added Docker unit test, Docker flag and fix issues found. [benjamin.hindman] Changed docker.kill() to docker.rm(). [benjamin.hindman] Added usage() for the docker containerizer. [benjamin.hindman] Used 'flags.docker' in tests. [benjamin.hindman] Exposed and used the Docker container name prefix. [benjamin.hindman] Renamed variable to be more accurate. [benjamin.hindman] Refactored Docker::Container::pid() to return an Option. [benjamin.hindman] Made Docker::ps/rm default arguments match CLI defaults. [benjamin.hindman] Be more mock friendly in MockDockerContainerizer. [benjamin.hindman] Added license in docker/docker.cpp. [benjamin.hindman] Added docker_tests to test the docker abstraction. [benjamin.hindman] Added docker::killAndRm() to performs 'docker kill && docker rm (-f)' [benjamin.hindman] Refactored docker::ps(), added 'prefix' option to inspect only interested containers. [benjamin.hindman] Moved cpu/mem constants from cpushare.cpp/mem.cpp to cpushare.hpp/mem.hpp [benjamin.hindman] Refactored docker::usage() and docker::run(). [benjamin.hindman] Added a DockerContainerizer::recover test. [benjamin.hindman] Implemented DockerContainerizer::update. [benjamin.hindman] Added an example Docker framework for testing. [benjamin.hindman] Used unsigned constants for older compilers. [benjamin.hindman] Used the new cgroups helpers when updating Docker container resources. [benjamin.hindman] Moved WSTRINGIFY out of a namespace. [benjamin.hindman] Modified Docker example framework to use busybox. [benjamin.hindman] Improved failure handling of DockerContainerizer. [benjamin.hindman] Refactored some Docker tests to be more generic. [benjamin.hindman] Fix docker usage test [benjamin.hindman] Added DockerContainerizer kill task test. [benjamin.hindman] Checked for mounted 'cpu' cgroups subsystem in Docker::validate. [benjamin.hindman] Await container termination in docker kill test [benjamin.hindman] Update docker uri to expect 3 slashes in prefix [benjamin.hindman] Implemented launching executors in DockerContainerizer. [benjamin.hindman] Revised comments to reflect DockerContainerizer implementation. [benjamin.hindman] Replaced the docker test executor with a smaller one. [benjamin.hindman] Addressing Docker review comments [benjamin.hindman] Fixed tests for new launch/wait containerizer semantics. ------------------------------------------ [...truncated 5234 lines...] rm -f master/libmesos_no_3rdparty_la-master.lo rm -f master/libmesos_no_3rdparty_la-registrar.o rm -f master/libmesos_no_3rdparty_la-registrar.lo rm -f master/libmesos_no_3rdparty_la-registry.pb.o rm -f master/libmesos_no_3rdparty_la-registry.pb.lo rm -f master/libmesos_no_3rdparty_la-repairer.o rm -f master/libmesos_no_3rdparty_la-repairer.lo rm -f master/mesos_master-main.o rm -f messages/liblog_la-log.pb.o rm -f messages/liblog_la-log.pb.lo rm -f messages/libmesos_no_3rdparty_la-messages.pb.o rm -f messages/libmesos_no_3rdparty_la-messages.pb.lo rm -f messages/libstate_la-state.pb.o rm -f messages/libstate_la-state.pb.lo rm -f sasl/libmesos_no_3rdparty_la-auxprop.o rm -f sasl/libmesos_no_3rdparty_la-auxprop.lo rm -f sched/libmesos_no_3rdparty_la-sched.o rm -f sched/libmesos_no_3rdparty_la-sched.lo rm -f scheduler/libmesos_no_3rdparty_la-scheduler.o rm -f scheduler/libmesos_no_3rdparty_la-scheduler.lo rm -f scheduler/libmesos_no_3rdparty_la-scheduler.pb.o rm -f scheduler/libmesos_no_3rdparty_la-scheduler.pb.lo rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-cpushare.o rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-cpushare.lo rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-mem.o rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-mem.lo rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-perf_event.o rm -f slave/containerizer/isolators/cgroups/libmesos_no_3rdparty_la-perf_event.lo rm -f slave/containerizer/isolators/network/libmesos_no_3rdparty_la-port_mapping.o rm -f slave/containerizer/isolators/network/libmesos_no_3rdparty_la-port_mapping.lo rm -f slave/containerizer/isolators/network/mesos_network_helper-helper.o rm -f slave/containerizer/libmesos_no_3rdparty_la-composing.o rm -f slave/containerizer/libmesos_no_3rdparty_la-composing.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-containerizer.o rm -f slave/containerizer/libmesos_no_3rdparty_la-containerizer.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-docker.o rm -f slave/containerizer/libmesos_no_3rdparty_la-docker.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-external_containerizer.o rm -f slave/containerizer/libmesos_no_3rdparty_la-external_containerizer.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-isolator.o rm -f slave/containerizer/libmesos_no_3rdparty_la-isolator.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-launcher.o rm -f slave/containerizer/libmesos_no_3rdparty_la-launcher.lo rm -f slave/containerizer/libmesos_no_3rdparty_la-linux_launcher.o rm -f slave/containerizer/libmesos_no_3rdparty_la-linux_launcher.lo rm -f slave/containerizer/mesos/libmesos_no_3rdparty_la-containerizer.o rm -f slave/containerizer/mesos/libmesos_no_3rdparty_la-containerizer.lo rm -f slave/containerizer/mesos/libmesos_no_3rdparty_la-launch.o rm -f slave/containerizer/mesos/libmesos_no_3rdparty_la-launch.lo rm -f slave/containerizer/mesos/mesos_containerizer-main.o rm -f slave/libmesos_no_3rdparty_la-constants.o rm -f slave/libmesos_no_3rdparty_la-constants.lo rm -f slave/libmesos_no_3rdparty_la-gc.o rm -f slave/libmesos_no_3rdparty_la-gc.lo rm -f slave/libmesos_no_3rdparty_la-http.o rm -f slave/libmesos_no_3rdparty_la-http.lo rm -f slave/libmesos_no_3rdparty_la-monitor.o rm -f slave/libmesos_no_3rdparty_la-monitor.lo rm -f slave/libmesos_no_3rdparty_la-slave.o rm -f slave/libmesos_no_3rdparty_la-slave.lo rm -f slave/libmesos_no_3rdparty_la-state.o rm -f slave/libmesos_no_3rdparty_la-state.lo rm -f slave/libmesos_no_3rdparty_la-status_update_manager.o rm -f slave/libmesos_no_3rdparty_la-status_update_manager.lo rm -f slave/mesos_slave-main.o rm -f state/libstate_la-in_memory.o rm -f state/libstate_la-in_memory.lo rm -f state/libstate_la-leveldb.o rm -f state/libstate_la-leveldb.lo rm -f state/libstate_la-log.o rm -f state/libstate_la-log.lo rm -f state/libstate_la-zookeeper.o rm -f state/libstate_la-zookeeper.lo rm -f tests/mesos_tests-allocator_tests.o rm -f tests/mesos_tests-attributes_tests.o rm -f tests/mesos_tests-authentication_tests.o rm -f tests/mesos_tests-authorization_tests.o rm -f tests/mesos_tests-cgroups_isolator_tests.o rm -f tests/mesos_tests-cgroups_tests.o rm -f tests/mesos_tests-containerizer.o rm -f tests/mesos_tests-containerizer_tests.o rm -f tests/mesos_tests-credentials_tests.o rm -f tests/mesos_tests-docker_containerizer_tests.o rm -f tests/mesos_tests-docker_tests.o rm -f tests/mesos_tests-environment.o rm -f tests/mesos_tests-examples_tests.o rm -f tests/mesos_tests-exception_tests.o rm -f tests/mesos_tests-external_containerizer_test.o rm -f tests/mesos_tests-fault_tolerance_tests.o rm -f tests/mesos_tests-fetcher_tests.o rm -f tests/mesos_tests-files_tests.o rm -f tests/mesos_tests-flags.o rm -f tests/mesos_tests-fs_tests.o rm -f tests/mesos_tests-gc_tests.o rm -f tests/mesos_tests-group_tests.o rm -f tests/mesos_tests-health_check_tests.o rm -f tests/mesos_tests-isolator_tests.o rm -f tests/mesos_tests-log_tests.o rm -f tests/mesos_tests-logging_tests.o rm -f tests/mesos_tests-main.o rm -f tests/mesos_tests-master_authorization_tests.o rm -f tests/mesos_tests-master_contender_detector_tests.o rm -f tests/mesos_tests-master_tests.o rm -f tests/mesos_tests-mesos.o rm -f tests/mesos_tests-monitor_tests.o rm -f tests/mesos_tests-paths_tests.o rm -f tests/mesos_tests-perf_tests.o rm -f tests/mesos_tests-port_mapping_tests.o rm -f tests/mesos_tests-protobuf_io_tests.o rm -f tests/mesos_tests-rate_limiting_tests.o rm -f tests/mesos_tests-reconciliation_tests.o rm -f tests/mesos_tests-registrar_tests.o rm -f tests/mesos_tests-registrar_zookeeper_tests.o rm -f tests/mesos_tests-repair_tests.o rm -f tests/mesos_tests-resource_offers_tests.o rm -f tests/mesos_tests-resources_tests.o rm -f tests/mesos_tests-routing_tests.o rm -f tests/mesos_tests-sasl_tests.o rm -f tests/mesos_tests-scheduler_tests.o rm -f tests/mesos_tests-script.o rm -f tests/mesos_tests-shutdown_tests.o rm -f tests/mesos_tests-slave_recovery_tests.o rm -f tests/mesos_tests-slave_tests.o rm -f tests/mesos_tests-sorter_tests.o rm -f tests/mesos_tests-state_tests.o rm -f tests/mesos_tests-status_update_manager_tests.o rm -f tests/mesos_tests-utils.o rm -f tests/mesos_tests-zookeeper.o rm -f tests/mesos_tests-zookeeper_test_server.o rm -f tests/mesos_tests-zookeeper_tests.o rm -f tests/mesos_tests-zookeeper_url_tests.o rm -f usage/libmesos_no_3rdparty_la-usage.o rm -f usage/libmesos_no_3rdparty_la-usage.lo rm -f usage/mesos_usage-main.o rm -f zookeeper/libmesos_no_3rdparty_la-authentication.o rm -f zookeeper/libmesos_no_3rdparty_la-authentication.lo rm -f zookeeper/libmesos_no_3rdparty_la-contender.o rm -f zookeeper/libmesos_no_3rdparty_la-contender.lo rm -f zookeeper/libmesos_no_3rdparty_la-detector.o rm -f zookeeper/libmesos_no_3rdparty_la-detector.lo rm -f zookeeper/libmesos_no_3rdparty_la-group.o rm -f zookeeper/libmesos_no_3rdparty_la-group.lo rm -f zookeeper/libmesos_no_3rdparty_la-zookeeper.o rm -f zookeeper/libmesos_no_3rdparty_la-zookeeper.lo rm -rf ./.deps authorizer/.deps cli/.deps common/.deps containerizer/.deps docker/.deps examples/.deps exec/.deps files/.deps health-check/.deps java/jni/.deps jvm/.deps jvm/org/apache/.deps launcher/.deps linux/.deps linux/routing/.deps linux/routing/filter/.deps linux/routing/link/.deps linux/routing/queueing/.deps local/.deps log/.deps log/tool/.deps logging/.deps master/.deps messages/.deps sasl/.deps sched/.deps scheduler/.deps slave/.deps slave/containerizer/.deps slave/containerizer/isolators/cgroups/.deps slave/containerizer/isolators/network/.deps slave/containerizer/mesos/.deps state/.deps tests/.deps usage/.deps zookeeper/.deps rm -f Makefile make[2]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/src' Making distclean in 3rdparty make[2]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty' Making distclean in libprocess make[3]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess' Making distclean in include make[4]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/include' rm -rf .libs _libs rm -f *.lo test -z "" || rm -f test . = "../../../../3rdparty/libprocess/include" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f Makefile make[4]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/include' Making distclean in 3rdparty make[4]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty' Making distclean in stout make[5]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout' Making distclean in include make[6]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout/include' test -z "" || rm -f test . = "../../../../../../3rdparty/libprocess/3rdparty/stout/include" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f Makefile make[6]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout/include' Making distclean in . make[6]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout' test -z "" || rm -f test . = "../../../../../3rdparty/libprocess/3rdparty/stout" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags make[6]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f Makefile make[5]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty/stout' Making distclean in . make[5]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty' test -z "libgmock.la" || rm -f libgmock.la rm -f stout-tests rm -rf .libs _libs rm -r -f boost-1.53.0 glog-0.3.3 gmock-1.6.0 gperftools-2.0 libev-4.15 protobuf-2.5.0 ry-http-parser-1c3624a picojson-4f93734 test -z "libry_http_parser.la" || rm -f libry_http_parser.la rm -f "./so_locations" rm -f *.o rm -f *.lo rm -f *.tab.c test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f "./so_locations" test . = "../../../../3rdparty/libprocess/3rdparty" || test -z "" || rm -f rm -f *-stamp make[5]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty' rm -rf ./.deps rm -f Makefile make[4]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess/3rdparty' Making distclean in . make[4]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess' rm -f tests rm -rf .libs _libs test -z "libprocess.la" || rm -f libprocess.la rm -f *.o rm -f *.lo rm -f *.tab.c test -z "" || rm -f rm -f libtool config.lt rm -f "./so_locations" test . = "../../../3rdparty/libprocess" || test -z "" || rm -f rm -f config.lt rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags make[4]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -rf ./.deps rm -f Makefile make[3]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty/libprocess' Making distclean in . make[3]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty' rm -rf .libs _libs rm -r -f distribute-0.6.26 leveldb zookeeper-3.4.5 rm -f *.lo test -z "" || rm -f test . = "../../3rdparty" || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags rm -f *-stamp make[3]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty' rm -f Makefile make[2]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build/3rdparty' Making distclean in . make[2]: Entering directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build' rm -rf .libs _libs rm -f *.lo test -z "mesos.pc bin/mesos.sh bin/mesos-local.sh bin/mesos-master.sh bin/mesos-slave.sh bin/mesos-tests.sh bin/mesos-local-flags.sh bin/mesos-master-flags.sh bin/mesos-slave-flags.sh bin/mesos-tests-flags.sh bin/gdb-mesos-local.sh bin/gdb-mesos-master.sh bin/gdb-mesos-slave.sh bin/gdb-mesos-tests.sh bin/lldb-mesos-local.sh bin/lldb-mesos-master.sh bin/lldb-mesos-slave.sh bin/lldb-mesos-tests.sh bin/valgrind-mesos-local.sh bin/valgrind-mesos-slave.sh bin/valgrind-mesos-master.sh bin/valgrind-mesos-tests.sh src/deploy/mesos-daemon.sh src/deploy/mesos-start-cluster.sh src/deploy/mesos-start-masters.sh src/deploy/mesos-start-slaves.sh src/deploy/mesos-stop-cluster.sh src/deploy/mesos-stop-masters.sh src/deploy/mesos-stop-slaves.sh include/mesos/mesos.hpp src/java/generated/org/apache/mesos/MesosNativeLibrary.java mpi/mpiexec-mesos src/examples/java/test-exception-framework src/examples/java/test-executor src/examples/java/test-framework src/examples/java/test-multiple-executors-framework src/examples/java/test-log src/java/mesos.pom src/examples/python/test-executor src/examples/python/test-framework src/examples/python/test-containerizer src/python/setup.py src/python/interface/setup.py src/python/native/ext_modules.py src/python/native/setup.py" || rm -f mesos.pc bin/mesos.sh bin/mesos-local.sh bin/mesos-master.sh bin/mesos-slave.sh bin/mesos-tests.sh bin/mesos-local-flags.sh bin/mesos-master-flags.sh bin/mesos-slave-flags.sh bin/mesos-tests-flags.sh bin/gdb-mesos-local.sh bin/gdb-mesos-master.sh bin/gdb-mesos-slave.sh bin/gdb-mesos-tests.sh bin/lldb-mesos-local.sh bin/lldb-mesos-master.sh bin/lldb-mesos-slave.sh bin/lldb-mesos-tests.sh bin/valgrind-mesos-local.sh bin/valgrind-mesos-slave.sh bin/valgrind-mesos-master.sh bin/valgrind-mesos-tests.sh src/deploy/mesos-daemon.sh src/deploy/mesos-start-cluster.sh src/deploy/mesos-start-masters.sh src/deploy/mesos-start-slaves.sh src/deploy/mesos-stop-cluster.sh src/deploy/mesos-stop-masters.sh src/deploy/mesos-stop-slaves.sh include/mesos/mesos.hpp src/java/generated/org/apache/mesos/MesosNativeLibrary.java mpi/mpiexec-mesos src/examples/java/test-exception-framework src/examples/java/test-executor src/examples/java/test-framework src/examples/java/test-multiple-executors-framework src/examples/java/test-log src/java/mesos.pom src/examples/python/test-executor src/examples/python/test-framework src/examples/python/test-containerizer src/python/setup.py src/python/interface/setup.py src/python/native/ext_modules.py src/python/native/setup.py rm -f libtool config.lt rm -f config.lt test . = ".." || test -z "" || rm -f rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags make[2]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build' rm -f config.status config.cache config.log configure.lineno config.status.lineno rm -f Makefile ERROR: files left in build directory after distclean: ./src/python/interface/src/mesos/interface/mesos/mesos_pb2.py make[1]: *** [distcleancheck] Error 1 make[1]: Leaving directory `/x1/jenkins/jenkins-slave/workspace/mesos-reviewbot/mesos-0.20.0/_build' make: *** [distcheck] Error 1 Build step 'Execute shell' marked build as failure