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