mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Klues <>
Subject Review Request 47707: Refactored resource enumeration for containerizers and isolators.
Date Mon, 23 May 2016 00:45:39 GMT

This is an automatically generated e-mail. To reply, visit:

Review request for mesos, Benjamin Mahler and Jie Yu.

Bugs: MESOS-5256

Repository: mesos


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.


  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 



make -j check ( which fails on one test -- see )


Kevin Klues

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message