You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2014/08/05 00:09:59 UTC
[38/43] git commit: Checked for mounted 'cpu' cgroups subsystem in
Docker::validate.
Checked for mounted 'cpu' cgroups subsystem in Docker::validate.
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/0bf53b48
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/0bf53b48
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/0bf53b48
Branch: refs/heads/master
Commit: 0bf53b48d22571311c55c699799f99f375c601d6
Parents: 19781ef
Author: Benjamin Hindman <be...@gmail.com>
Authored: Wed Jul 9 15:25:27 2014 -0700
Committer: Benjamin Hindman <be...@gmail.com>
Committed: Mon Aug 4 15:08:17 2014 -0700
----------------------------------------------------------------------
src/docker/docker.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/0bf53b48/src/docker/docker.cpp
----------------------------------------------------------------------
diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp
index 8985f55..1142ef3 100644
--- a/src/docker/docker.cpp
+++ b/src/docker/docker.cpp
@@ -31,6 +31,8 @@
#include "docker/docker.hpp"
+#include "linux/cgroups.hpp"
+
#include "slave/containerizer/isolators/cgroups/cpushare.hpp"
#include "slave/containerizer/isolators/cgroups/mem.hpp"
@@ -46,6 +48,16 @@ using std::vector;
Try<Nothing> Docker::validate(const Docker &docker)
{
+ // Make sure that cgroups are mounted, and at least the 'cpu'
+ // subsystem is attached.
+ Result<string> hierarchy = cgroups::hierarchy("cpu");
+
+ if (hierarchy.isNone()) {
+ return Error("Failed to find a mounted cgroups hierarchy "
+ "for the 'cpu' subsystem, you probably need "
+ "to mount cgroups manually!");
+ }
+
Future<std::string> info = docker.info();
if (!info.await(Seconds(3))) {