> On Aug. 14, 2015, 11:15 a.m., Jie Yu wrote:
> > src/slave/containerizer/provisioners/backend.hpp, lines 55-57
> > <https://reviews.apache.org/r/37382/diff/2/?file=1040433#file1040433line55>
> >
> >     Hum, what do yo mean here?
> >     
> >     I think the backend should be container aware. I.e., we should pass in 
> > containerid in 'provision'  and destroy will take a containerid as well.
> >     
> >     There could be multiple rootfs for a container (because image in 
> > volumes). When the container finishes, the provisioner will try to destroy 
> > all rootfs provisioned for that container.
> >     
> >     Thoughts?

This is intended for the image in volumes case but I was trying to not be too 
explicit because it's not implemented yet (we should track it with a separate 
ticket).

My comment about 'nested' was incorrect, let me clarify here.

The 'caller' is the provisioner. What I had in mind was: each Backend call 
handles one image, if `Backend::provision()`s one image and then it should 
`destroy()` the rootfs provisioned by one image.

Suppose we have such a rootfs dir and each container has multiple rootfses, 
some from ContainerInfo::volumnes and one from ContainerInfo::mesos::image but 
they are stored side-by-side under <container_id>/<image_type>.

```
<--rootfs_dir>
|--<container_id>
   |--<appc>
      |--<image_id>
      |--<image_id>
   |--<docker>
```

IMO since LinuxFilesystemIsolatorProcess::cleanup() calls each 
`Provisioner::destory(containerId)` (appc|docker), the provisioner can look at 
the subdir it manages and scan it and call `Backend::destroy(rootfsPath)` for 
each image under it.

So each `Backend::destroy(rootfsPath)` call destroys one rootfs and there is no 
`nesting` under it.
Passing `containerId` into Backend isn't as clean as it should be the 
provisioner who converts the id into a path and Backends are this dumb thing 
which only knows paths.

More clear?


- Jiang Yan


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


On Aug. 14, 2015, 10:51 a.m., Jiang Yan Xu wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/37382/
> -----------------------------------------------------------
> 
> (Updated Aug. 14, 2015, 10:51 a.m.)
> 
> 
> Review request for mesos, Lily Chen, Ian Downes, Jie Yu, and Timothy Chen.
> 
> 
> Bugs: MESOS-2968
>     https://issues.apache.org/jira/browse/MESOS-2968
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> The Backend interface is made generic so it can be used by different 
> provisioners. See 
> [MESOS-2968](https://issues.apache.org/jira/browse/MESOS-2968?focusedCommentId=14652859&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14652859)
>  for details.
> 
> 
> Diffs
> -----
> 
>   src/Makefile.am b5dbdc316cad179cd265bd81900999fab35940b9 
>   src/slave/containerizer/provisioners/backend.hpp PRE-CREATION 
>   src/slave/containerizer/provisioners/backend.cpp PRE-CREATION 
> 
> Diff: https://reviews.apache.org/r/37382/diff/
> 
> 
> Testing
> -------
> 
> make check.
> 
> 
> Thanks,
> 
> Jiang Yan Xu
> 
>

Reply via email to