You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/06/20 19:21:41 UTC
mesos git commit: Added a check of namespaces in Posix launcher.
Repository: mesos
Updated Branches:
refs/heads/master e057fd160 -> 42836707d
Added a check of namespaces in Posix launcher.
Posix launcher does not support namespaces. We should reject the launch
if namespaces are desired (e.g., from isolators). The currently behavior
of silently ignoring it will cause weird issues.
Review: https://reviews.apache.org/r/48921/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/42836707
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/42836707
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/42836707
Branch: refs/heads/master
Commit: 42836707d5da1065ad8cb6cbea2943c71ca57fa6
Parents: e057fd1
Author: Jie Yu <yu...@gmail.com>
Authored: Mon Jun 20 12:19:39 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Mon Jun 20 12:21:20 2016 -0700
----------------------------------------------------------------------
src/slave/containerizer/mesos/containerizer.cpp | 4 ++++
src/slave/containerizer/mesos/launcher.cpp | 4 ++++
2 files changed, 8 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/42836707/src/slave/containerizer/mesos/containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp
index d6a9111..20b7d5d 100644
--- a/src/slave/containerizer/mesos/containerizer.cpp
+++ b/src/slave/containerizer/mesos/containerizer.cpp
@@ -1164,7 +1164,11 @@ Future<bool> MesosContainerizerProcess::__launch(
}
JSON::Array commandArray;
+
+ // TODO(jieyu): We should use Option here. If no namespace is
+ // required, we should pass None() to 'launcher->fork'.
int namespaces = 0;
+
foreach (const Option<ContainerLaunchInfo>& launchInfo, launchInfos) {
if (!launchInfo.isSome()) {
continue;
http://git-wip-us.apache.org/repos/asf/mesos/blob/42836707/src/slave/containerizer/mesos/launcher.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/launcher.cpp b/src/slave/containerizer/mesos/launcher.cpp
index b1b323b..ff67526 100644
--- a/src/slave/containerizer/mesos/launcher.cpp
+++ b/src/slave/containerizer/mesos/launcher.cpp
@@ -91,6 +91,10 @@ Try<pid_t> PosixLauncher::fork(
const Option<int>& namespaces,
vector<process::Subprocess::Hook> parentHooks)
{
+ if (namespaces.isSome() && namespaces.get() != 0) {
+ return Error("Posix launcher does not support namespaces");
+ }
+
if (pids.contains(containerId)) {
return Error("Process has already been forked for container " +
stringify(containerId));