mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kapil Arya" <ka...@mesosphere.io>
Subject Re: Review Request 35585: Updated Isolator to return required namespaces.
Date Tue, 23 Jun 2015 05:03:09 GMT

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

(Updated June 23, 2015, 1:03 a.m.)


Review request for mesos, Ian Downes, Jie Yu, and Niklas Nielsen.


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


Repository: mesos


Description
-------

This would enable the MesosContainerizer to pass on a list of namespaces
to LinuxLauncher instead of having LinuxLauncher guess it from the
isolation flags.


Diffs
-----

  include/mesos/slave/isolator.hpp 18edc030367e42240090f2f3dbc92aec7a4c6234 
  src/slave/containerizer/isolator.cpp d51ecc9347cafef90c92a6965e37f417b4929e79 
  src/slave/containerizer/isolators/filesystem/shared.hpp 08c6ffea0e2fada8e0b04f4ab15d8569c5416a8e

  src/slave/containerizer/isolators/filesystem/shared.cpp 5049306dea7b94dfaa4f7c2d8187bbae8c360633

  src/slave/containerizer/isolators/namespaces/pid.hpp 6b24e2990311d0b09b3f6f2bb4ab29ee83fddddc

  src/slave/containerizer/isolators/namespaces/pid.cpp c6b28aa70415f4d88b14f0eeff7f20c35018fbdc

  src/slave/containerizer/isolators/network/port_mapping.hpp 7777ee869ce71a68f51d58159c701d3c5d1e502b

  src/slave/containerizer/isolators/network/port_mapping.cpp 137cdc9b064b02e829af857cff7b9023ee7b7b16


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


Testing (updated)
-------

make check

When I tried to run port-mapping tests as root, I got a bunch of errors. Any ideas on what
might be going on here?


```
thinkpad:/home/kapil/mesos/netns/build-port-mapping # GLOG_logtostderr=1 GTEST_v=2 make check
GTEST_FILTER="*Port*"
Making check in .
make[1]: Entering directory '/local/mesos/netns/build-port-mapping'
make[1]: Nothing to be done for 'check-am'.
make[1]: Leaving directory '/local/mesos/netns/build-port-mapping'
Making check in 3rdparty
make[1]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty'
make  check-recursive
make[2]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty'
Making check in libprocess
make[3]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
Making check in 3rdparty
make[4]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make  check-recursive
make[5]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
Making check in stout
make[6]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout'
Making check in .
make[7]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout'
make[7]: Nothing to be done for 'check-am'.
make[7]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout'
Making check in include
make[7]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout/include'
make[7]: Nothing to be done for 'check'.
make[7]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout/include'
make[6]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty/stout'
make[6]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make  libgmock.la stout-tests
make[7]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make[7]: 'libgmock.la' is up to date.
make[7]: 'stout-tests' is up to date.
make[7]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make  check-local
make[7]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
./stout-tests
Note: Google Test filter = *Port*
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (0 ms total)
[  PASSED  ] 0 tests.
make[7]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make[6]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make[5]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
make[4]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/3rdparty'
Making check in .
make[4]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
make  tests benchmarks
make[5]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
make[5]: 'tests' is up to date.
make[5]: 'benchmarks' is up to date.
make[5]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
make  check-local
make[5]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
./tests
Note: Google Test filter = *Port*
[==========] Running 0 tests from 0 test cases.
[==========] 0 tests from 0 test cases ran. (0 ms total)
[  PASSED  ] 0 tests.

  YOU HAVE 3 DISABLED TESTS

make[5]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
make[4]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
Making check in include
make[4]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/include'
make[4]: Nothing to be done for 'check'.
make[4]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess/include'
make[3]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty/libprocess'
make[3]: Entering directory '/local/mesos/netns/build-port-mapping/3rdparty'
make[3]: Nothing to be done for 'check-am'.
make[3]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty'
make[2]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty'
make[1]: Leaving directory '/local/mesos/netns/build-port-mapping/3rdparty'
Making check in src
make[1]: Entering directory '/local/mesos/netns/build-port-mapping/src'
make  check-am
make[2]: Entering directory '/local/mesos/netns/build-port-mapping/src'
make  low-level-scheduler-libprocess low-level-scheduler-pthread test-framework test-executor
long-lived-framework long-lived-executor no-executor-framework docker-no-executor-framework
balloon-framework balloon-executor load-generator-framework persistent-volume-framework setns-test-helper
memory-test-helper active-user-test-helper mesos-tests   \
  tests/balloon_framework_test.sh tests/low_level_scheduler_libprocess_test.sh tests/low_level_scheduler_pthread_test.sh
tests/java_exception_test.sh tests/java_framework_test.sh tests/java_log_test.sh tests/no_executor_framework_test.sh
tests/persistent_volume_framework_test.sh tests/python_framework_test.sh tests/test_framework_test.sh
make[3]: Entering directory '/local/mesos/netns/build-port-mapping/src'
make[3]: 'low-level-scheduler-libprocess' is up to date.
make[3]: 'low-level-scheduler-pthread' is up to date.
make[3]: 'test-framework' is up to date.
make[3]: 'test-executor' is up to date.
make[3]: 'long-lived-framework' is up to date.
make[3]: 'long-lived-executor' is up to date.
make[3]: 'no-executor-framework' is up to date.
make[3]: 'docker-no-executor-framework' is up to date.
make[3]: 'balloon-framework' is up to date.
make[3]: 'balloon-executor' is up to date.
make[3]: 'load-generator-framework' is up to date.
make[3]: 'persistent-volume-framework' is up to date.
make[3]: 'setns-test-helper' is up to date.
make[3]: 'memory-test-helper' is up to date.
make[3]: 'active-user-test-helper' is up to date.
make[3]: 'mesos-tests' is up to date.
make[3]: Nothing to be done for '../../src/tests/balloon_framework_test.sh'.
make[3]: Nothing to be done for '../../src/tests/low_level_scheduler_libprocess_test.sh'.
make[3]: Nothing to be done for '../../src/tests/low_level_scheduler_pthread_test.sh'.
make[3]: Nothing to be done for '../../src/tests/java_exception_test.sh'.
make[3]: Nothing to be done for '../../src/tests/java_framework_test.sh'.
make[3]: Nothing to be done for '../../src/tests/java_log_test.sh'.
make[3]: Nothing to be done for '../../src/tests/no_executor_framework_test.sh'.
make[3]: Nothing to be done for '../../src/tests/persistent_volume_framework_test.sh'.
make[3]: Nothing to be done for '../../src/tests/python_framework_test.sh'.
make[3]: Nothing to be done for '../../src/tests/test_framework_test.sh'.
make[3]: Leaving directory '/local/mesos/netns/build-port-mapping/src'
make  check-local
make[3]: Entering directory '/local/mesos/netns/build-port-mapping/src'
./mesos-tests
Source directory: /local/mesos/netns
Build directory: /local/mesos/netns/build-port-mapping
-------------------------------------------------------------
We cannot run any cgroups tests that require mounting
hierarchies because you have the following hierarchies mounted:
/sys/fs/cgroup/blkio, /sys/fs/cgroup/cpu,cpuacct, /sys/fs/cgroup/cpuset, /sys/fs/cgroup/devices,
/sys/fs/cgroup/freezer, /sys/fs/cgroup/hugetlb, /sys/fs/cgroup/memory, /sys/fs/cgroup/net_cls,net_prio,
/sys/fs/cgroup/perf_event, /sys/fs/cgroup/systemd
We'll disable the CgroupsNoHierarchyTest test fixture for now.
-------------------------------------------------------------
-------------------------------------------------------------
We cannot run any Docker tests because:
Failed to get docker version: Failed to execute 'docker version': exited with status 1
-------------------------------------------------------------
Note: Google Test filter = *Port*-DockerContainerizerTest.ROOT_DOCKER_Launch_Executor:DockerContainerizerTest.ROOT_DOCKER_Launch_Executor_Bridged:DockerContainerizerTest.ROOT_DOCKER_Launch:DockerContainerizerTest.ROOT_DOCKER_Kill:DockerContainerizerTest.ROOT_DOCKER_Usage:DockerContainerizerTest.ROOT_DOCKER_Update:DockerContainerizerTest.ROOT_DOCKER_Recover:DockerContainerizerTest.ROOT_DOCKER_SkipRecoverNonDocker:DockerContainerizerTest.ROOT_DOCKER_Logs:DockerContainerizerTest.ROOT_DOCKER_Default_CMD:DockerContainerizerTest.ROOT_DOCKER_Default_CMD_Override:DockerContainerizerTest.ROOT_DOCKER_Default_CMD_Args:DockerContainerizerTest.ROOT_DOCKER_SlaveRecoveryTaskContainer:DockerContainerizerTest.DISABLED_ROOT_DOCKER_SlaveRecoveryExecutorContainer:DockerContainerizerTest.ROOT_DOCKER_PortMapping:DockerContainerizerTest.ROOT_DOCKER_LaunchSandboxWithColon:DockerContainerizerTest.ROOT_DOCKER_DestroyWhileFetching:DockerContainerizerTest.ROOT_DOCKER_DestroyWhilePulling:DockerContainerizerTest.
 ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed:DockerContainerizerTest.ROOT_DOCKER_FetchFailure:DockerContainerizerTest.ROOT_DOCKER_DockerPullFailure:DockerContainerizerTest.ROOT_DOCKER_DockerInspectDiscard:DockerTest.ROOT_DOCKER_interface:DockerTest.ROOT_DOCKER_CheckCommandWithShell:DockerTest.ROOT_DOCKER_CheckPortResource:DockerTest.ROOT_DOCKER_CancelPull:ResourceOffersTest.ResourceOfferWithMultipleSlaves:SlaveRecoveryTest/0.MultipleSlaves:SorterTest.MultipleSlaves:CgroupsNoHierarchyTest.ROOT_CGROUPS_NOHIERARCHY_MountUnmountHierarchy:SlaveCount/Registrar_BENCHMARK_Test.performance/0:SlaveCount/Registrar_BENCHMARK_Test.performance/1:SlaveCount/Registrar_BENCHMARK_Test.performance/2:SlaveCount/Registrar_BENCHMARK_Test.performance/3
[==========] Running 16 tests from 4 test cases.
[----------] Global test environment set-up.
[----------] 1 test from MasterTest
[ RUN      ] MasterTest.IgnoreEphemeralPortsResource
[       OK ] MasterTest.IgnoreEphemeralPortsResource (78 ms)
[----------] 1 test from MasterTest (78 ms total)

[----------] 1 test from RoutingTest
[ RUN      ] RoutingTest.PortRange
[       OK ] RoutingTest.PortRange (0 ms)
[----------] 1 test from RoutingTest (0 ms total)

[----------] 11 tests from PortMappingIsolatorTest
[ RUN      ] PortMappingIsolatorTest.ROOT_ContainerToContainerTCP
../../src/tests/port_mapping_tests.cpp:500: Failure
(isolator.get()->isolate(containerId1, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11469': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_ContainerToContainerTCP (72 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_ContainerToContainerUDP
../../src/tests/port_mapping_tests.cpp:660: Failure
(isolator.get()->isolate(containerId1, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11487': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_ContainerToContainerUDP (44 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_HostToContainerUDP
../../src/tests/port_mapping_tests.cpp:823: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11505': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_HostToContainerUDP (44 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_HostToContainerTCP
../../src/tests/port_mapping_tests.cpp:940: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11524': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_HostToContainerTCP (50 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_ContainerICMPExternal
../../src/tests/port_mapping_tests.cpp:1058: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11543': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_ContainerICMPExternal (42 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_ContainerICMPInternal
../../src/tests/port_mapping_tests.cpp:1138: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11561': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_ContainerICMPInternal (57 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_ContainerARPExternal
../../src/tests/port_mapping_tests.cpp:1234: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11580': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_ContainerARPExternal (51 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_DNS
../../src/tests/port_mapping_tests.cpp:1328: Failure
(isolator.get()->isolate(containerId, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11599': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_DNS (55 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_TooManyContainers
../../src/tests/port_mapping_tests.cpp:1412: Failure
(isolator.get()->isolate(containerId1, pid.get())).failure(): Failed to symlink the network
namespace handle '/var/run/mesos/netns/container1' -> '/var/run/netns/11617': File exists
[  FAILED  ] PortMappingIsolatorTest.ROOT_TooManyContainers (63 ms)
[ RUN      ] PortMappingIsolatorTest.ROOT_SmallEgressLimit
F0623 00:57:59.798791 11428 port_mapping_tests.cpp:1469] CHECK_SOME(isolator): Failed to read
/sys/class/net/wlan0/speed: Invalid argument 
*** Check failure stack trace: ***
    @     0x7fcce573c4d8  google::LogMessage::Fail()
    @     0x7fcce573c437  google::LogMessage::SendToLog()
    @     0x7fcce573be48  google::LogMessage::Flush()
    @     0x7fcce573eb7c  google::LogMessageFatal::~LogMessageFatal()
    @           0x9c90c2  _CheckFatal::~_CheckFatal()
    @          0x11d32b8  mesos::internal::tests::PortMappingIsolatorTest_ROOT_SmallEgressLimit_Test::TestBody()
    @          0x120f157  testing::internal::HandleSehExceptionsInMethodIfSupported<>()
    @          0x120a344  testing::internal::HandleExceptionsInMethodIfSupported<>()
    @          0x11f27af  testing::Test::Run()
    @          0x11f2ed2  testing::TestInfo::Run()
    @          0x11f345a  testing::TestCase::Run()
    @          0x11f81d6  testing::internal::UnitTestImpl::RunAllTests()
    @          0x120ffee  testing::internal::HandleSehExceptionsInMethodIfSupported<>()
    @          0x120b069  testing::internal::HandleExceptionsInMethodIfSupported<>()
    @          0x11f7086  testing::UnitTest::Run()
    @           0xd0f9e2  main
    @     0x7fccdf4b98c5  __libc_start_main
    @           0x8be1d9  _start
    @              (nil)  (unknown)
Failed to synchronize with slave (it's probably exited)Makefile:7556: recipe for target 'check-local'
failed

make[3]: *** [check-local] Aborted (core dumped)
make[3]: Leaving directory '/local/mesos/netns/build-port-mapping/src'
Makefile:7003: recipe for target 'check-am' failed
make[2]: *** [check-am] Error 2
make[2]: Leaving directory '/local/mesos/netns/build-port-mapping/src'
Failed to synchronize with slave (it's probably exited)
Makefile:7007: recipe for target 'check' failed
make[1]: *** [check] Error 2
make[1]: Leaving directory '/local/mesos/netns/build-port-mapping/src'
Makefile:678: recipe for target 'check-recursive' failed
make: *** [check-recursive] Error 1
Failed to synchronize with slave (it's probably exited)
thinkpad:/home/kapil/mesos/netns/build-port-mapping # Failed to synchronize with slave (it's
probably exited)
Failed to synchronize with slave (it's probably exited)
Failed to synchronize with slave (it's probably exited)
Failed to synchronize with slave (it's probably exited)
Failed to synchronize with slave (it's probably exited)
Failed to synchronize with slave (it's probably exited)

thinkpad:/home/kapil/mesos/netns/build-port-mapping # 
```


Thanks,

Kapil Arya


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