Added a containerizer devices path helper. Added a helper to define a per-container directory for storing container device nodes.
Review: https://reviews.apache.org/r/67095/ Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0e9a4149 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0e9a4149 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0e9a4149 Branch: refs/heads/master Commit: 0e9a4149edb777a66818572134b08bc1dea88eea Parents: 0969088 Author: James Peach <[email protected]> Authored: Fri May 25 13:37:56 2018 -0700 Committer: James Peach <[email protected]> Committed: Fri May 25 13:37:56 2018 -0700 ---------------------------------------------------------------------- src/slave/containerizer/mesos/paths.cpp | 10 ++++++++++ src/slave/containerizer/mesos/paths.hpp | 8 ++++++++ 2 files changed, 18 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/0e9a4149/src/slave/containerizer/mesos/paths.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/mesos/paths.cpp b/src/slave/containerizer/mesos/paths.cpp index cf7d47b..94ab921 100644 --- a/src/slave/containerizer/mesos/paths.cpp +++ b/src/slave/containerizer/mesos/paths.cpp @@ -78,6 +78,16 @@ string getRuntimePath( } +string getContainerDevicesPath( + const string& runtimeDir, + const ContainerID& containerId) +{ + return path::join( + getRuntimePath(runtimeDir, containerId), + CONTAINER_DEVICES_DIRECTORY); +} + + Result<pid_t> getContainerPid( const string& runtimeDir, const ContainerID& containerId) http://git-wip-us.apache.org/repos/asf/mesos/blob/0e9a4149/src/slave/containerizer/mesos/paths.hpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/mesos/paths.hpp b/src/slave/containerizer/mesos/paths.hpp index b9f0f45..de3981d 100644 --- a/src/slave/containerizer/mesos/paths.hpp +++ b/src/slave/containerizer/mesos/paths.hpp @@ -73,6 +73,7 @@ constexpr char SOCKET_FILE[] = "socket"; constexpr char FORCE_DESTROY_ON_RECOVERY_FILE[] = "force_destroy_on_recovery"; constexpr char IO_SWITCHBOARD_DIRECTORY[] = "io_switchboard"; constexpr char CONTAINER_DIRECTORY[] = "containers"; +constexpr char CONTAINER_DEVICES_DIRECTORY[] = "devices"; constexpr char CONTAINER_LAUNCH_INFO_FILE[] = "launch_info"; constexpr char STANDALONE_MARKER_FILE[] = "standalone.marker"; @@ -107,6 +108,13 @@ std::string getRuntimePath( const ContainerID& containerId); +// Given a `runtimeDir`, construct a unique directory to store +// per-container device nodes. +std::string getContainerDevicesPath( + const std::string& runtimeDir, + const ContainerID& containerId); + + // The helper method to read the pid file. Result<pid_t> getContainerPid( const std::string& runtimeDir,
