You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Jie Yu <yu...@gmail.com> on 2016/02/20 07:08:06 UTC
Review Request 43801: Refactored and simplified the docker puller
interfaces.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/
-----------------------------------------------------------
Review request for mesos, Gilbert Song and Timothy Chen.
Bugs: MESOS-4499
https://issues.apache.org/jira/browse/MESOS-4499
Repository: mesos
Description
-------
This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
3) Used untar from command utils, and kill the same function in puller.cpp.
4) A lot of consistency fixes, including using the same type and name.
5) A lot of style fixes.
The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
Diffs
-----
src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
Diff: https://reviews.apache.org/r/43801/diff/
Testing
-------
make check
Thanks,
Jie Yu
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Jie Yu <yu...@gmail.com>.
> On Feb. 23, 2016, 7:26 a.m., Guangya Liu wrote:
> > src/slave/containerizer/mesos/provisioner/docker/paths.hpp, line 35
> > <https://reviews.apache.org/r/43801/diff/1/?file=1263540#file1263540line35>
> >
> > Why removing this? I think that this still exist as a temp directory when pulling docker image?
This is not in the staging root. Also, there is no such thing if registry puller is used.
- Jie
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120271
-----------------------------------------------------------
On Feb. 20, 2016, 6:09 a.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 20, 2016, 6:09 a.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Jie Yu <yu...@gmail.com>.
> On Feb. 23, 2016, 7:26 a.m., Guangya Liu wrote:
> > src/slave/containerizer/mesos/provisioner/docker/paths.hpp, lines 38-40
> > <https://reviews.apache.org/r/43801/diff/1/?file=1263540#file1263540line38>
> >
> > Do we need to add layer.tar here?
That's a impl. detail. We would likely to remove it later. So I won't mention it here.
- Jie
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120271
-----------------------------------------------------------
On Feb. 20, 2016, 6:09 a.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 20, 2016, 6:09 a.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Guangya Liu <gy...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120271
-----------------------------------------------------------
src/slave/containerizer/mesos/provisioner/docker/paths.hpp (line 32)
<https://reviews.apache.org/r/43801/#comment181704>
Why removing this? I think that this still exist as a temp directory when pulling docker image?
src/slave/containerizer/mesos/provisioner/docker/paths.hpp (lines 34 - 36)
<https://reviews.apache.org/r/43801/#comment181705>
Do we need to add layer.tar here?
- Guangya Liu
On 二月 20, 2016, 6:09 a.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated 二月 20, 2016, 6:09 a.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120032
-----------------------------------------------------------
Patch looks great!
Reviews applied: [43801]
Passed command: export OS='ubuntu:14.04' CONFIGURATION='--verbose' COMPILER='gcc' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh
- Mesos ReviewBot
On Feb. 20, 2016, 6:09 a.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 20, 2016, 6:09 a.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Gilbert Song <so...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120156
-----------------------------------------------------------
src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp (lines 233 - 240)
<https://reviews.apache.org/r/43801/#comment181605>
Could we change `parentLayerId` as a `JSON::Value`, which might be more safe. And we may want to add one more `else if`:
```
else if (parentLayerId.get().is<JSON::Null>()) {
return None();
}
```
src/slave/containerizer/mesos/provisioner/docker/store.cpp (line 213)
<https://reviews.apache.org/r/43801/#comment181559>
should be
`Future<Image> future = puller->pull(reference, staging.get())`?
src/slave/containerizer/mesos/provisioner/docker/store.cpp (lines 290 - 296)
<https://reviews.apache.org/r/43801/#comment181569>
Is this(skipping pulling/untar a layer) possible?
When we do a store->get, we firstly look at metadata manager. If found none, we start pulling, so a layer should be untarred to a staging dir.
- Gilbert Song
On Feb. 19, 2016, 10:09 p.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 19, 2016, 10:09 p.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Gilbert Song <so...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120387
-----------------------------------------------------------
Ship it!
Ship It!
- Gilbert Song
On Feb. 23, 2016, 12:11 p.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 23, 2016, 12:11 p.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/
-----------------------------------------------------------
(Updated Feb. 23, 2016, 8:11 p.m.)
Review request for mesos, Gilbert Song and Timothy Chen.
Changes
-------
Rebased.
Bugs: MESOS-4499
https://issues.apache.org/jira/browse/MESOS-4499
Repository: mesos
Description (updated)
-------
This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
3) Used untar from command utils, and kill the same function in puller.cpp.
4) A lot of consistency fixes, including using the same type and name.
5) A lot of style fixes.
The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
Reviewers are recommended to look at the end version, instead of the diff.
Diffs
-----
src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
Diff: https://reviews.apache.org/r/43801/diff/
Testing
-------
make check
Thanks,
Jie Yu
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/
-----------------------------------------------------------
(Updated Feb. 23, 2016, 8:10 p.m.)
Review request for mesos, Gilbert Song and Timothy Chen.
Bugs: MESOS-4499
https://issues.apache.org/jira/browse/MESOS-4499
Repository: mesos
Description (updated)
-------
Refactored and simplified the docker puller interfaces.
Diffs (updated)
-----
src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
Diff: https://reviews.apache.org/r/43801/diff/
Testing
-------
make check
Thanks,
Jie Yu
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Gilbert Song <so...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/#review120208
-----------------------------------------------------------
Ship it!
Ship It!
- Gilbert Song
On Feb. 19, 2016, 10:09 p.m., Jie Yu wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43801/
> -----------------------------------------------------------
>
> (Updated Feb. 19, 2016, 10:09 p.m.)
>
>
> Review request for mesos, Gilbert Song and Timothy Chen.
>
>
> Bugs: MESOS-4499
> https://issues.apache.org/jira/browse/MESOS-4499
>
>
> Repository: mesos
>
>
> Description
> -------
>
> This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
>
> 1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
> 2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
> 3) Used untar from command utils, and kill the same function in puller.cpp.
> 4) A lot of consistency fixes, including using the same type and name.
> 5) A lot of style fixes.
>
> The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
>
> Reviewers are recommended to look at the end version, instead of the diff.
>
>
> Diffs
> -----
>
> src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
> src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
> src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
> src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
> src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
> src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
> src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
> src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
> src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
> src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
>
> Diff: https://reviews.apache.org/r/43801/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Jie Yu
>
>
Re: Review Request 43801: Refactored and simplified the docker puller
interfaces.
Posted by Jie Yu <yu...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43801/
-----------------------------------------------------------
(Updated Feb. 20, 2016, 6:09 a.m.)
Review request for mesos, Gilbert Song and Timothy Chen.
Bugs: MESOS-4499
https://issues.apache.org/jira/browse/MESOS-4499
Repository: mesos
Description (updated)
-------
This is the first step of cleaning up the docker registry puller/client code base. I did the following simplications:
1) Simplify the paths functions. The getImageArchiveXXX functions are redundant.
2) Simplify the Puller::pull interface. We just need to return layer ids and no need to return path.
3) Used untar from command utils, and kill the same function in puller.cpp.
4) A lot of consistency fixes, including using the same type and name.
5) A lot of style fixes.
The next step will be to cleanup and refactor registry_puller to use uri Fetcher (docker plugin) to download manifest and blobs (and kill registry client).
Reviewers are recommended to look at the end version, instead of the diff.
Diffs
-----
src/slave/containerizer/mesos/provisioner/docker/local_puller.hpp 811c24b43f7aec9db406dd521770c6cd82097c92
src/slave/containerizer/mesos/provisioner/docker/local_puller.cpp f3e7c042f2c9980f6274c8185ee8bb89a8b02002
src/slave/containerizer/mesos/provisioner/docker/paths.hpp d2b0cf95e5ed7664071484a27a2a1f9bafff70d6
src/slave/containerizer/mesos/provisioner/docker/paths.cpp 82d92a2a9cce181eb283395a32e93cbb1586703b
src/slave/containerizer/mesos/provisioner/docker/puller.hpp 5b2d72c22fcbcc379b4901607cf3eb682de66206
src/slave/containerizer/mesos/provisioner/docker/puller.cpp a239b97557ad20353c67050dbc89ef16da898330
src/slave/containerizer/mesos/provisioner/docker/registry_puller.hpp bccbac11113357cf942446604e6cf5d16c3d594b
src/slave/containerizer/mesos/provisioner/docker/registry_puller.cpp 3fcf1471a035e35a2cac22442655ad65a84a9793
src/slave/containerizer/mesos/provisioner/docker/store.hpp 880e216e33dd178d0baa47d3958c84cda4d9e25e
src/slave/containerizer/mesos/provisioner/docker/store.cpp 2f1d3e002140f34c646aab445a419c9c3d712f99
src/tests/containerizer/provisioner_docker_tests.cpp 4db6793a21abbb7ea4de0d0fca0431237d38d013
Diff: https://reviews.apache.org/r/43801/diff/
Testing
-------
make check
Thanks,
Jie Yu