[ 
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.

  was:
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)

Reply via email to