[
https://issues.apache.org/jira/browse/MESOS-1570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14177978#comment-14177978
]
Isabel Jimenez commented on MESOS-1570:
---------------------------------------
I found that in fact this error does not occur only when building Mesos in a
Docker container, the main problem is building Mesos as root. The test
'OsSetnsTest' is skipped when you are not root so I suppose that's why the
error wasn't detected before. If root on a machine with a recent Kernel version
(>= 3.8 to have user namespace support), the error is the same.
In my opinion, here are the solutions:
- When building inside Docker, do the same as on the host: build as non root
- Change the test to not test user namespace since it is different than the
others (similar to the pid namespace test)
For now Mesos does not use the user namespace but tests should be updated when
that happen to be the case.
> Make check Error when Building Mesos in a Docker container
> -----------------------------------------------------------
>
> Key: MESOS-1570
> URL: https://issues.apache.org/jira/browse/MESOS-1570
> Project: Mesos
> Issue Type: Bug
> Reporter: Isabel Jimenez
> Assignee: Isabel Jimenez
> Priority: Minor
> Labels: Docker
>
> When building Mesos inside a Docker container, it's for the moment impossible
> to run tests even when you run Docker in --privileged mode. There is a test
> in stout that sets all the namespaces and libcontainer does not support
> setting 'user' namespace (more information
> [here|https://github.com/docker/libcontainer/blob/master/namespaces/nsenter.go#L136]).
> This is the error:
> {code:title=Make check failed test|borderStyle=solid}
> [----------] 1 test from OsSetnsTest
> [ RUN ] OsSetnsTest.setns
> ../../../../3rdparty/libprocess/3rdparty/stout/tests/os/setns_tests.cpp:43:
> Failure
> os::setns(::getpid(), ns): Invalid argument
> [ FAILED ] OsSetnsTest.setns (7 ms)
> [----------] 1 test from OsSetnsTest (7 ms total)
> [ FAILED ] 1 test, listed below:
> [ FAILED ] OsSetnsTest.setns
> 1 FAILED TEST
> {code}
> This can be disable as Mesos does not need to set 'user' namespace. I don't
> know if Docker will support setting user namespace one day since it's a new
> kernel feature, what could be the best approach to this issue? (disabling set
> for 'user' namespace on stout, disabling just this test..)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)