Introduced DockerContainerizerProcess::Container::name. Review: https://reviews.apache.org/r/26611
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/05211c53 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/05211c53 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/05211c53 Branch: refs/heads/master Commit: 05211c532d20d6802f49b3f21407c94935a88879 Parents: 3073bd4 Author: Benjamin Hindman <[email protected]> Authored: Sat Oct 11 12:38:14 2014 -0700 Committer: Benjamin Hindman <[email protected]> Committed: Fri Oct 31 15:05:38 2014 -0700 ---------------------------------------------------------------------- src/slave/containerizer/docker.cpp | 31 ++++++++++++++----------------- 1 file changed, 14 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/05211c53/src/slave/containerizer/docker.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/docker.cpp b/src/slave/containerizer/docker.cpp index 9a29489..312c8d8 100644 --- a/src/slave/containerizer/docker.cpp +++ b/src/slave/containerizer/docker.cpp @@ -234,8 +234,6 @@ private: // container destroy. void reaped(const ContainerID& containerId); - static std::string containerName(const ContainerID& containerId); - const Flags flags; Docker docker; @@ -245,6 +243,11 @@ private: Container(const ContainerID& id) : state(FETCHING), id(id) {} + std::string name() + { + return DOCKER_NAME_PREFIX + stringify(id); + } + // The DockerContainerier needs to be able to properly clean up // Docker containers, regardless of when they are destroyed. For // example, if a container gets destroyed while we are fetching, @@ -565,12 +568,6 @@ static int setup(const string& directory) } -string DockerContainerizerProcess::containerName(const ContainerID& containerId) -{ - return DOCKER_NAME_PREFIX + stringify(containerId); -} - - Future<Nothing> DockerContainerizerProcess::recover( const Option<SlaveState>& state) { @@ -810,7 +807,7 @@ Future<bool> DockerContainerizerProcess::__launch( containers_[containerId]->run = docker.run( taskInfo.container(), taskInfo.command(), - containerName(containerId), + containers_[containerId]->name(), directory, flags.docker_sandbox_directory, taskInfo.resources()); @@ -863,7 +860,7 @@ Future<bool> DockerContainerizerProcess::___launch( // status from the container, hence the use of /bin/bash. string override = "/bin/sh -c 'exit `" + - flags.docker + " wait " + containerName(containerId) + "`'"; + flags.docker + " wait " + containers_[containerId]->name() + "`'"; Try<Subprocess> s = subprocess( executorInfo.command().value() + " --override " + override, @@ -928,7 +925,7 @@ Future<bool> DockerContainerizerProcess::___launch( .onAny(defer(self(), &Self::reaped, containerId)); // TODO(benh): Check failure of Docker::logs. - docker.logs(containerName(containerId), directory); + docker.logs(containers_[containerId]->name(), directory); return true; } @@ -1061,7 +1058,7 @@ Future<bool> DockerContainerizerProcess::__launch( containers_[containerId]->run = docker.run( executorInfo.container(), executorInfo.command(), - containerName(containerId), + containers_[containerId]->name(), directory, flags.docker_sandbox_directory, None(), @@ -1089,7 +1086,7 @@ Future<bool> DockerContainerizerProcess::___launch( { // We shouldn't remove container until we set 'status'. CHECK(containers_.contains(containerId)); - return docker.inspect(containerName(containerId)) + return docker.inspect(containers_[containerId]->name()) .then(defer(self(), &Self::____launch, containerId, @@ -1157,7 +1154,7 @@ Future<bool> DockerContainerizerProcess::____launch( .onAny(defer(self(), &Self::reaped, containerId)); // TODO(benh): Check failure of Docker::logs. - docker.logs(containerName(containerId), directory); + docker.logs(containers_[containerId]->name(), directory); return true; } @@ -1195,7 +1192,7 @@ Future<Nothing> DockerContainerizerProcess::update( return __update(containerId, _resources, container->pid.get()); } - return docker.inspect(containerName(containerId)) + return docker.inspect(container->name()) .then(defer(self(), &Self::_update, containerId, _resources, lambda::_1)); #else return Nothing(); @@ -1371,7 +1368,7 @@ Future<ResourceStatistics> DockerContainerizerProcess::usage( return Failure("Container is being removed: " + stringify(containerId)); } - return docker.inspect(containerName(containerId)) + return docker.inspect(container->name()) .then(defer(self(), &Self::_usage, containerId, lambda::_1)); #endif // __linux__ } @@ -1567,7 +1564,7 @@ void DockerContainerizerProcess::_destroy( LOG(INFO) << "Running docker kill on container '" << containerId << "'"; - docker.kill(containerName(containerId), true) + docker.kill(container->name(), true) .onAny(defer(self(), &Self::__destroy, containerId, killed, lambda::_1)); }
