-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/48374/
-----------------------------------------------------------
Review request for mesos and Benjamin Mahler.
Bugs: MESOS-5562
https://issues.apache.org/jira/browse/MESOS-5562
Repository: mesos
Description
-------
Previously, the `NvidiaGpuAllocator` component was created directly
inside the `NvidiaGpuIsolatorProcess` even though it was designed to
be used by multiple containerizers at the same time. To allow for
simultaneous access, we created a new `NvidiaComponents` class to hold
a reference to a shared `NvidiaGpuAllocator` instance and pass it to
each containerizer as it is created. This component can easily be
extended to include more cross-containerizer components later on.
We create the `NvidiaComponents` instance inside
`Containerizer::create()` and pass it to both the docker containerizer
and the mesos containerizer when they are created. The docker
containerizer currently doesn't do anything with this information, but
its interface has been updated to accomodate it. The mesos
containerizer has been updated to pass this all the way down to the
`NvidiaGpuIsolatorProcess` and exploit it.
Diffs
-----
src/Makefile.am 29525c960e8fb2448260efdd774fd8fc1d68047b
src/slave/containerizer/containerizer.cpp
faa0c789dda8a6f36fdb6217b0bae270b6b8f2e2
src/slave/containerizer/docker.hpp 311dca23ac17fb533866aba1de2b81d750bbe6df
src/slave/containerizer/docker.cpp 63efbe6f45958d44d60fe4a7fea816f5fb0457b2
src/slave/containerizer/mesos/containerizer.hpp
a1a00020668f6da8d611f26e5637afffc87d09ba
src/slave/containerizer/mesos/containerizer.cpp
c7b9744463cf8e1921dcb5e2b7dec7d4e2c0e45f
src/slave/containerizer/mesos/isolators/gpu/components.hpp PRE-CREATION
src/slave/containerizer/mesos/isolators/gpu/nvidia.hpp
f290e3c1d1114698039a505e972793dc325c7100
src/slave/containerizer/mesos/isolators/gpu/nvidia.cpp
7849e518af448d9557ca4d6de4ccaba8bc572992
Diff: https://reviews.apache.org/r/48374/diff/
Testing
-------
GTEST_FILTER="" make -j check && sudo GTEST_FILTER="*NVIDIA*" src/mesos-tests
Thanks,
Kevin Klues