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 2014/06/25 23:37:44 UTC
[2/7] git commit: Updated mesos to adapt to the new Subprocess
interfaces.
Updated mesos to adapt to the new Subprocess interfaces.
Review: https://reviews.apache.org/r/22851
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/7f1774b8
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/7f1774b8
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/7f1774b8
Branch: refs/heads/master
Commit: 7f1774b8aee8ad85f80c0d26fac1321cde3ee1cc
Parents: 1b0fdf0
Author: Jie Yu <yu...@gmail.com>
Authored: Fri Jun 20 12:46:08 2014 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Wed Jun 25 14:32:16 2014 -0700
----------------------------------------------------------------------
src/health-check/main.cpp | 1 -
src/launcher/executor.cpp | 41 +++++++++++---------
src/launcher/launcher.cpp | 1 -
.../containerizer/external_containerizer.cpp | 1 -
src/slave/containerizer/mesos_containerizer.cpp | 1 -
src/tests/slave_tests.cpp | 1 -
6 files changed, 23 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/health-check/main.cpp
----------------------------------------------------------------------
diff --git a/src/health-check/main.cpp b/src/health-check/main.cpp
index 05e2924..707810a 100644
--- a/src/health-check/main.cpp
+++ b/src/health-check/main.cpp
@@ -154,7 +154,6 @@ private:
Subprocess::PIPE(),
Subprocess::FD(STDERR_FILENO),
Subprocess::FD(STDERR_FILENO),
- None(),
environment);
if (external.isError()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/launcher/executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/executor.cpp b/src/launcher/executor.cpp
index 9f48c88..9c80848 100644
--- a/src/launcher/executor.cpp
+++ b/src/launcher/executor.cpp
@@ -62,6 +62,7 @@ using std::cout;
using std::cerr;
using std::endl;
using std::string;
+using std::vector;
namespace mesos {
namespace internal {
@@ -402,31 +403,35 @@ private:
void launchHealthCheck(const TaskInfo& task)
{
if (task.has_health_check()) {
- const HealthCheck& healthCheck = task.health_check();
- JSON::Object json = JSON::Protobuf(healthCheck);
- // TODO(tnachen): Use flags when subprocess handle arguments
- // with quotes.
- const string& healthCommand =
- path::join(healthCheckDir, "mesos-health-check") + " --executor=\"" +
- stringify(self()) + "\" --health_check_json='" + stringify(json) +
- "' --task_id=" + task.task_id().value();
- cout << "Launching health check process: " << healthCommand << endl;
+ JSON::Object json = JSON::Protobuf(task.health_check());
+
+ // Launch the subprocess using 'execve' style so that quotes can
+ // be properly handled.
+ vector<string> argv(4);
+ argv[0] = "mesos-health-check";
+ argv[1] = "--executor=" + stringify(self());
+ argv[2] = "--health_check_json=" + stringify(json);
+ argv[3] = "--task_id=" + task.task_id().value();
+
+ cout << "Launching health check process: "
+ << path::join(healthCheckDir, "mesos-health-check")
+ << " " << argv[1] << " " << argv[2] << " " << argv[3] << endl;
+
Try<Subprocess> healthProcess =
process::subprocess(
- healthCommand,
+ path::join(healthCheckDir, "mesos-health-check"),
+ argv,
Subprocess::PIPE(),
Subprocess::FD(STDOUT_FILENO),
- Subprocess::FD(STDERR_FILENO),
- None(),
- None(),
- None());
+ Subprocess::FD(STDERR_FILENO));
+
if (healthProcess.isError()) {
cerr << "Unable to launch health process: " << healthProcess.error();
} else {
- const Subprocess& health = healthProcess.get();
- healthPid = health.pid();
- cout << "Health check process launched at pid: " << stringify(healthPid)
- << endl;
+ healthPid = healthProcess.get().pid();
+
+ cout << "Health check process launched at pid: "
+ << stringify(healthPid) << endl;
}
}
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/launcher/launcher.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/launcher.cpp b/src/launcher/launcher.cpp
index 872e2e8..5585aad 100644
--- a/src/launcher/launcher.cpp
+++ b/src/launcher/launcher.cpp
@@ -211,7 +211,6 @@ process::Future<Option<int> > Operation::launch(
Subprocess::PIPE(),
Subprocess::PIPE(),
Subprocess::PIPE(),
- None(),
environment);
if (s.isError()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/slave/containerizer/external_containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/external_containerizer.cpp b/src/slave/containerizer/external_containerizer.cpp
index bb3e5cc..3f28d85 100644
--- a/src/slave/containerizer/external_containerizer.cpp
+++ b/src/slave/containerizer/external_containerizer.cpp
@@ -1117,7 +1117,6 @@ Try<Subprocess> ExternalContainerizerProcess::invoke(
Subprocess::PIPE(),
Subprocess::PIPE(),
Subprocess::PIPE(),
- None(),
environment,
lambda::bind(&setup, sandbox.isSome() ? sandbox.get().directory
: string()));
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/slave/containerizer/mesos_containerizer.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos_containerizer.cpp b/src/slave/containerizer/mesos_containerizer.cpp
index 76c101c..8a109f4 100644
--- a/src/slave/containerizer/mesos_containerizer.cpp
+++ b/src/slave/containerizer/mesos_containerizer.cpp
@@ -666,7 +666,6 @@ Future<Nothing> MesosContainerizerProcess::fetch(
Subprocess::PIPE(),
Subprocess::PIPE(),
Subprocess::PIPE(),
- None(),
environment);
if (fetcher.isError()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/7f1774b8/src/tests/slave_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp
index 21fe685..873f22d 100644
--- a/src/tests/slave_tests.cpp
+++ b/src/tests/slave_tests.cpp
@@ -351,7 +351,6 @@ TEST_F(SlaveTest, MesosExecutorWithOverride)
process::Subprocess::PIPE(),
process::Subprocess::PIPE(),
process::Subprocess::PIPE(),
- None(),
environment);
ASSERT_SOME(executor);