> On Oct. 28, 2016, 2:03 a.m., Jie Yu wrote: > > src/slave/containerizer/mesos/provisioner/backends/copy.cpp, line 133 > > <https://reviews.apache.org/r/53115/diff/3/?file=1544890#file1544890line133> > > > > I am not sure if we need to pass in 'image' to backend. If we added OCI > > support, do we need to add another check here? > > > > I think we can simply assume the layer's whiteout is in aufs whiteout > > format, no matter what image type it is. I think APPC, we probably needs to > > do the same, right? > > > > You probably add a NOTE there saying that we assume all image type uses > > aufs whiteout format. > > > > In that way, no need to pass 'image' around to backend. > > Qian Zhang wrote: > The reason I passed in `image` and added this check is that previously we > have such check in `ProvisionerProcess::__provision()`: > > https://github.com/apache/mesos/blob/1.0.1/src/slave/containerizer/mesos/provisioner/provisioner.cpp#L334 > > I think one of the purposes of this check is to ensure we will NOT go > through the logic to handle whiteout files for APPC. I think this is correct > because APPC seems have a totally different way for whiteout, in its image > manifest (https://github.com/appc/spec/blob/master/spec/aci.md ), there is a > field `pathWhitelist`: > ``` > pathWhitelist (list of strings, optional): whitelist of absolute paths > that will exist in the app's rootfs after rendering. This must be a complete > and absolute set. An empty list is equivalent to an absent value and means > that all files in this image and any dependencies will be available in the > rootfs. > ``` > And there is PR in APPC to translate Docker whiteout files to > `pathWhitelist`: https://github.com/appc/docker2aci/pull/36 > > So I think if we do not pass in `image`, then copy backend will try to > handle whiteout files for APPC image which is not necessary since there is no > whiteout files to handle, instead, we should support `pathWhitelist` which > seems missed in > https://github.com/apache/mesos/blob/1.0.1/include/mesos/appc/spec.proto , > that is another issue.
If you think about that in a different way: can we convert the APPC whiteout to be the same as OCI and Docker? I don't want each backend to have different ways to handle whiteouts depending on the type. At the end of the day, one needs to convert whiteout to aufs or overlayfs format, right? - Jie ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/53115/#review154084 ----------------------------------------------------------- On Oct. 25, 2016, 3:47 a.m., Qian Zhang wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/53115/ > ----------------------------------------------------------- > > (Updated Oct. 25, 2016, 3:47 a.m.) > > > Review request for mesos and Jie Yu. > > > Bugs: MESOS-6360 > https://issues.apache.org/jira/browse/MESOS-6360 > > > Repository: mesos > > > Description > ------- > > Implemented handling AUFS whiteouts for copy backend. > > > Diffs > ----- > > src/slave/containerizer/mesos/provisioner/backend.hpp > 7257d3a962ecdf87fe9d52facbd6a2619311a018 > src/slave/containerizer/mesos/provisioner/backends/aufs.hpp > a3c924195ae5eecc1caca9cd6fc0f6dc0df0a741 > src/slave/containerizer/mesos/provisioner/backends/aufs.cpp > c92c6c7174421158b9190ed0bfb00c1c97ef0f7b > src/slave/containerizer/mesos/provisioner/backends/bind.hpp > 54c88d940aa64d13114fc5d79ecbc1d474d169a6 > src/slave/containerizer/mesos/provisioner/backends/bind.cpp > 94dac40a12b6fd2e7d9733444d84763c77785402 > src/slave/containerizer/mesos/provisioner/backends/copy.hpp > 131d75521ca38afae651e8d885ebedad77d86a3e > src/slave/containerizer/mesos/provisioner/backends/copy.cpp > 9c5354e5fea488618ebdecf0aef9dd2fce555d20 > src/slave/containerizer/mesos/provisioner/backends/overlay.hpp > 4d591c5f988d87e0e905f973df5ab15a3386d676 > src/slave/containerizer/mesos/provisioner/backends/overlay.cpp > b71a31323aef376c9a28e1d52322a1802fb212ad > src/slave/containerizer/mesos/provisioner/provisioner.cpp > de2c12140652244bd3de9763ced203b144688ab2 > src/tests/containerizer/provisioner_backend_tests.cpp > 727bf645dd9337a94f098ab0a816b7e0e0651083 > > Diff: https://reviews.apache.org/r/53115/diff/ > > > Testing > ------- > > make check. > > > Thanks, > > Qian Zhang > >
