Andrei Budnik created MESOS-8553:
------------------------------------

             Summary: Implement a test to reproduce a bug in launch nested 
container call.
                 Key: MESOS-8553
                 URL: https://issues.apache.org/jira/browse/MESOS-8553
             Project: Mesos
          Issue Type: Task
          Components: test
            Reporter: Andrei Budnik


It's known that in some circumstances an attempt to launch a nested container 
session might fail with the following error message:
{code:java}
Failed to enter mount namespace: Failed to open '/proc/29473/ns/mnt': No such 
file or directory
{code}
That message is written by [linux 
launcher|https://github.com/apache/mesos/blob/f7dbd29bd9809d1dd254041537ca875e7ea26613/src/slave/containerizer/mesos/launch.cpp#L742-L743]
 to stdout. This bug is most likely caused by 
[getMountNamespaceTarget()|https://github.com/apache/mesos/blob/f7dbd29bd9809d1dd254041537ca875e7ea26613/src/slave/containerizer/mesos/utils.cpp#L59].

Steps for the test could be:
1) Start a long running task in its own container (e.g. `sleep 1000`)
2) Start a new short-living nested container via `LAUNCH_NESTED_CONTAINER` 
(e.g. `echo echo`)

3) Call `WAIT_NESTED_CONTAINER` on that nested container

4) Start long-living nested container via `LAUNCH_NESTED_CONTAINER` (e.g. `cat`)
5) Kill that nested container via `KILL_NESTED_CONTAINER`
6) Start another long-living nested container via 
`LAUNCH_NESTED_CONTAINER_SESSION` 

(e.g. `cat`)
7) Attach to that container via `ATTACH_CONTAINER_INPUT` and write non-empty 
message M to container's stdin
8) Check the output of the nested container: it should contain message M

The bug might pop up during step 8.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to