mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Qian Zhang <zhang...@cn.ibm.com>
Subject Re: Review Request 45082: Implemented cleanup() method of "network/cni" isolator.
Date Thu, 24 Mar 2016 13:27:39 GMT


> On March 22, 2016, 11:37 p.m., Avinash sridharan wrote:
> > src/slave/containerizer/mesos/isolators/network/cni/cni.hpp, line 151
> > <https://reviews.apache.org/r/45082/diff/1/?file=1307516#file1307516line151>
> >
> >     I guess if we are going to use `attach` for connecting to networks, lets use
`detach` over here.

Agree.


> On March 22, 2016, 11:37 p.m., Avinash sridharan wrote:
> > src/slave/containerizer/mesos/isolators/network/cni/cni.cpp, lines 647-649
> > <https://reviews.apache.org/r/45082/diff/1/?file=1307517#file1307517line647>
> >
> >     This is a bit odd, __disconnect always returns an error ? The plugin can return
error codes and error logs which we should be propagating upstream through failure semantics.

The reason that `__disconnect()` always returns a `Failure` is, it will be only called when
the exit code of plugin is not 0 (i.e., plugin fails for a reason), in case of plugin success,
we will return `Nothing()` in `_disconnect()`. So we only need `__disconnect()` in case of
plugin failure to get the output (i.e., detailed failure reason) of plugin and propagate it
upstream.


> On March 22, 2016, 11:37 p.m., Avinash sridharan wrote:
> > src/slave/containerizer/mesos/isolators/network/cni/cni.cpp, line 653
> > <https://reviews.apache.org/r/45082/diff/1/?file=1307517#file1307517line653>
> >
> >     Why are we returning a Future<list<Nothing>> over here? We should
be returning a Future<Nothing> there is no list since you are deletnig the entire container
directory in one shot. This seems a bit odd.

I tend to agree with you, however, I see CPU share isolator does the similar thing: https://github.com/apache/mesos/blob/0.28.0/src/slave/containerizer/mesos/isolators/cgroups/cpushare.cpp#L536:L547,
maybe we should change it as well?


> On March 22, 2016, 11:37 p.m., Avinash sridharan wrote:
> > src/slave/containerizer/mesos/isolators/network/cni/cni.cpp, lines 644-645
> > <https://reviews.apache.org/r/45082/diff/1/?file=1307517#file1307517line644>
> >
> >     These two CHECKS don't make sense. What if the plugin got deleted or there was
a bug in the plugin because of which it wasn't able to delete the interfaces or release the
IP addresses. The Agent should not die because of an error in a 3rd party plugin.

If the plugin got deleted, then `Subprocess.isError()` will be true and we will return a `Failure`,
if there was a bug in the plugin, then `Subprocess.status()` will be non-zero and we will
read its output for the detailed error message. For either of these cases, agent will not
die.


- Qian


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


On March 21, 2016, 12:30 a.m., Qian Zhang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/45082/
> -----------------------------------------------------------
> 
> (Updated March 21, 2016, 12:30 a.m.)
> 
> 
> Review request for mesos, Avinash sridharan, Gilbert Song, and Jie Yu.
> 
> 
> Bugs: MESOS-4759
>     https://issues.apache.org/jira/browse/MESOS-4759
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Implemented cleanup() method of "network/cni" isolator.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/network/cni/cni.hpp PRE-CREATION 
>   src/slave/containerizer/mesos/isolators/network/cni/cni.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/45082/diff/
> 
> 
> Testing
> -------
> 
> make check
> 
> 
> Thanks,
> 
> Qian Zhang
> 
>


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