> On Dec. 22, 2016, 4:21 a.m., haosdent huang wrote:
> > Basically it looks good to me.
> > 
> > Have some simple issues we would like to discuss more:
> > 
> > * Should we keep so much fields in `RunOptions`?
> > * Should we use `vector<string> cmd` in `RunOptions`? Or use `CommandInfo` 
> > directly.

@haosdent, my current feeling is to abstract Docker CLI at each option level, 
that is why I decided to use many fields rather than simply abstract against a 
`vector<string>`.

Another reason is that this abstraction allows us to either add a builder 
pattern for `RunOptions`, or allow modification of a `RunOptions` easily. This 
can eventually allow us to gradually break the lengthy `RunOptions::create` 
function into smaller and more testable pieces.

Using a `vector<string> cmd` as abstraction interface could make the above goal 
harder, since the caller needs to correctly parse all parameters and modify 
them in place.

Please let me know what you think.


- Zhitao


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


On Dec. 22, 2016, 5:17 p.m., Zhitao Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/54821/
> -----------------------------------------------------------
> 
> (Updated Dec. 22, 2016, 5:17 p.m.)
> 
> 
> Review request for mesos, Xiaojian Huang, haosdent huang, and Jie Yu.
> 
> 
> Bugs: MESOS-6808
>     https://issues.apache.org/jira/browse/MESOS-6808
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> This patch creates a wrapper struct for all recognizable docker cli
> options, and separate logic of creating these options to a different
> common function.
> 
> This also enables us to overcome gmock's 10 argument limit.
> 
> No logic change happens in this refactoring patch.
> 
> 
> Diffs
> -----
> 
>   src/docker/docker.hpp 9093371afc8ea792ba94f61c6875703e547ea6b0 
>   src/docker/docker.cpp 472cb1b4dc2b0ac65721c732fca8ec70a7470f47 
>   src/docker/executor.cpp 9b5c469e2d0f33e228ec746711e6bc6ed352cbc7 
>   src/slave/containerizer/docker.cpp 7a8a7271b54af0b4dcdae7a2aa8a90a8a7d05fd6 
>   src/tests/containerizer/docker_containerizer_tests.cpp 
> 4e3b67bbb989f9084dfdf4970839956dcb0caa0e 
>   src/tests/containerizer/docker_tests.cpp 
> 9667d434486c1832f180a297a39a3d5dae6a26bd 
>   src/tests/mock_docker.hpp 829a760d54ad8c7b88256ae5df4c88c9fb18df71 
>   src/tests/mock_docker.cpp 02b6065a01e7e52b0edb38676dfb1bb475584502 
> 
> Diff: https://reviews.apache.org/r/54821/diff/
> 
> 
> Testing
> -------
> 
> `make check` with ROOT and DOCKER filter.
> 
> 
> Thanks,
> 
> Zhitao Li
> 
>

Reply via email to