-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/47707/
-----------------------------------------------------------
Review request for mesos, Benjamin Mahler and Jie Yu.
Bugs: MESOS-5256
https://issues.apache.org/jira/browse/MESOS-5256
Repository: mesos
Description
-------
Previously, the `Containerizer` class contained a static `resources()`
function for enumerating all of the resources available on an agent.
This made it hard to add new resources to this enumeration that were,
for example, containerizer-specific or tied to a new isolator module
loaded at runtime.
This commit refactors the resource enumeration logic to allow each
containerizer to enumerate resources itself. It does this by adding a
new virtual `resources()` function, whose default implementation
includes the same logic as the old static version of `resources()`.
Individual containerizers simply overwrite this function to do their
own enumeration if they want to.
Similar logic exists to push resource enumeration down into isolators
as well. As such, the logic for the Nvidia GPU resource enumeration has
been moved down into the Nvidia GPU isolator instead of being
hard-coded into the mesos containerizer itself.
Diffs
-----
include/mesos/slave/isolator.hpp 4be8c2bb409052e2e07138483408209384f41e23
src/slave/containerizer/composing.hpp
f3eebd19bc9e6b3b8a969a2ad967b3e2909e0ee4
src/slave/containerizer/composing.cpp
15d059f0bbda4e8cb93c65c09327dde1e34d3e7b
src/slave/containerizer/containerizer.hpp
ff78b4d0fd4a3b862f6019fc757c16b7367cd3cf
src/slave/containerizer/containerizer.cpp
faa0c789dda8a6f36fdb6217b0bae270b6b8f2e2
src/slave/containerizer/mesos/containerizer.hpp
a1a00020668f6da8d611f26e5637afffc87d09ba
src/slave/containerizer/mesos/containerizer.cpp
75e5a32a3e70ec60a6800e21a621673184ea0956
src/slave/containerizer/mesos/isolator.hpp
bacd86af42d16cb7c9b6622dfb298dcaa7007b75
src/slave/containerizer/mesos/isolator.cpp
253ff3cea8aff3e7a3051fb5a763cc081f455f18
src/slave/containerizer/mesos/isolators/cgroups/devices/gpus/nvidia.hpp
502204650192d5ea44aa631eac8eb37e051843f0
src/slave/containerizer/mesos/isolators/cgroups/devices/gpus/nvidia.cpp
8f81cb79c10261670efc9eaa8614751854f53806
src/slave/slave.cpp ce0e7b1f1d17c3b82d835b0a6296ed7b1e9eeac1
Diff: https://reviews.apache.org/r/47707/diff/
Testing
-------
make -j check ( which fails on one test -- see
https://reviews.apache.org/r/47708/ )
Thanks,
Kevin Klues