You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "haosdent (JIRA)" <ji...@apache.org> on 2016/08/21 09:05:20 UTC

[jira] [Updated] (MESOS-6059) Allow clean up unknown container during the clean up phase of the container

     [ https://issues.apache.org/jira/browse/MESOS-6059?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

haosdent updated MESOS-6059:
----------------------------
    Description: 
1. {{MesosContainerizer::prepare}} prepare the isolators sequentially. Suppose we failed in other isolators preparation and have not performed {{CgroupsIsolator::prepare}}. {{MesosContainerizer::destroy}} would be performed on those unsuccessful containers in Mesos Agent. And then those containers are unknown in {{CgroupsIsolator::destroy}}.
2. Suppose we start Mesos Agent with {{--isolation=cgroups/cpu,cgroups/mem}} and start some containers. And restart Mesos Agent with a new isolation flag {{--isolation=cgroups/cpu,cgroups/mem,cgroups/perf_event}}. Mesos Agent would recover those exists containers, only {{cpu}}, {{cpuacct}}, {{memory}} subsystems could recovered successfully. But when Mesos Agent perform {{CgroupsIsolator::destroy}} on those exist containers, it would try to clean up all known subsystems {{cpu}}, {{cpuacct}}, {{memory}}, {{perf_event}}. This is what the test case {{MesosContainerizerSlaveRecoveryTest.CGROUPS_ROOT_PERF_RollForward}} do exactly. So we need to ignore clean up unknown container in {{Subsystem}} level as well.

> Allow clean up unknown container during the clean up phase of the container
> ---------------------------------------------------------------------------
>
>                 Key: MESOS-6059
>                 URL: https://issues.apache.org/jira/browse/MESOS-6059
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: haosdent
>            Assignee: haosdent
>
> 1. {{MesosContainerizer::prepare}} prepare the isolators sequentially. Suppose we failed in other isolators preparation and have not performed {{CgroupsIsolator::prepare}}. {{MesosContainerizer::destroy}} would be performed on those unsuccessful containers in Mesos Agent. And then those containers are unknown in {{CgroupsIsolator::destroy}}.
> 2. Suppose we start Mesos Agent with {{--isolation=cgroups/cpu,cgroups/mem}} and start some containers. And restart Mesos Agent with a new isolation flag {{--isolation=cgroups/cpu,cgroups/mem,cgroups/perf_event}}. Mesos Agent would recover those exists containers, only {{cpu}}, {{cpuacct}}, {{memory}} subsystems could recovered successfully. But when Mesos Agent perform {{CgroupsIsolator::destroy}} on those exist containers, it would try to clean up all known subsystems {{cpu}}, {{cpuacct}}, {{memory}}, {{perf_event}}. This is what the test case {{MesosContainerizerSlaveRecoveryTest.CGROUPS_ROOT_PERF_RollForward}} do exactly. So we need to ignore clean up unknown container in {{Subsystem}} level as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)