You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2016/05/13 04:13:28 UTC
[4/5] mesos git commit: Updated mesos to work with new `flags.load()`
signature.
Updated mesos to work with new `flags.load()` signature.
In addition to updating the code for the new signature, deprecation
warnings are also printed when loading deprecated flag names/aliases.
Review: https://reviews.apache.org/r/46815
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/ae0aee6e
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/ae0aee6e
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/ae0aee6e
Branch: refs/heads/master
Commit: ae0aee6e2bdecfe67a244cb5a5b343acaa2876d6
Parents: a7e8e94
Author: Vinod Kone <vi...@gmail.com>
Authored: Thu Apr 28 19:43:12 2016 -0700
Committer: Vinod Kone <vi...@gmail.com>
Committed: Thu May 12 21:13:02 2016 -0700
----------------------------------------------------------------------
src/cli/execute.cpp | 7 ++++++-
src/cli/resolve.cpp | 7 ++++++-
src/docker/executor.cpp | 7 ++++++-
src/examples/dynamic_reservation_framework.cpp | 7 ++++++-
src/examples/load_generator_framework.cpp | 7 ++++++-
src/examples/long_lived_framework.cpp | 7 ++++++-
src/examples/no_executor_framework.cpp | 7 ++++++-
src/examples/persistent_volume_framework.cpp | 7 ++++++-
src/examples/test_framework.cpp | 7 ++++++-
src/examples/test_http_framework.cpp | 7 ++++++-
src/exec/exec.cpp | 7 ++++++-
src/executor/executor.cpp | 7 ++++++-
src/health-check/main.cpp | 7 ++++++-
src/launcher/executor.cpp | 7 ++++++-
src/launcher/fetcher.cpp | 7 ++++++-
src/launcher/http_command_executor.cpp | 7 ++++++-
src/local/local.cpp | 14 ++++++++++++--
src/local/main.cpp | 7 ++++++-
src/log/tool/benchmark.cpp | 7 ++++++-
src/log/tool/initialize.cpp | 7 ++++++-
src/log/tool/read.cpp | 7 ++++++-
src/log/tool/replica.cpp | 7 ++++++-
src/master/main.cpp | 7 ++++++-
src/sched/sched.cpp | 14 ++++++++++++--
src/scheduler/scheduler.cpp | 7 ++++++-
src/slave/container_loggers/lib_logrotate.cpp | 7 ++++++-
src/slave/container_loggers/logrotate.cpp | 7 ++++++-
src/slave/main.cpp | 7 ++++++-
src/tests/main.cpp | 7 ++++++-
src/usage/main.cpp | 7 ++++++-
30 files changed, 192 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/cli/execute.cpp
----------------------------------------------------------------------
diff --git a/src/cli/execute.cpp b/src/cli/execute.cpp
index 4711e80..81a0388 100644
--- a/src/cli/execute.cpp
+++ b/src/cli/execute.cpp
@@ -624,7 +624,7 @@ int main(int argc, char** argv)
Flags flags;
// Load flags from command line only.
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -640,6 +640,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
if (flags.master.isNone()) {
cerr << flags.usage("Missing required option --master") << endl;
return EXIT_FAILURE;
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/cli/resolve.cpp
----------------------------------------------------------------------
diff --git a/src/cli/resolve.cpp b/src/cli/resolve.cpp
index 23bb0f1..ac6be05 100644
--- a/src/cli/resolve.cpp
+++ b/src/cli/resolve.cpp
@@ -61,7 +61,7 @@ int main(int argc, char** argv)
// Load flags from environment and command line, and remove
// them from argv.
- Try<Nothing> load = flags.load(None(), &argc, &argv);
+ Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -73,6 +73,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// 'master' argument must be the only argument left after parsing.
if (argc != 2) {
cerr << flags.usage("There must be only one argument: <master>") << endl;
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/docker/executor.cpp
----------------------------------------------------------------------
diff --git a/src/docker/executor.cpp b/src/docker/executor.cpp
index d60addc..04f4404 100644
--- a/src/docker/executor.cpp
+++ b/src/docker/executor.cpp
@@ -607,7 +607,7 @@ int main(int argc, char** argv)
mesos::internal::docker::Flags flags;
// Load flags from environment and command line.
- Try<Nothing> load = flags.load(None(), &argc, &argv);
+ Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -618,6 +618,11 @@ int main(int argc, char** argv)
mesos::internal::logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
if (flags.help) {
cout << flags.usage() << endl;
return EXIT_SUCCESS;
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/dynamic_reservation_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/dynamic_reservation_framework.cpp b/src/examples/dynamic_reservation_framework.cpp
index 4ad5f4b..01149cc 100644
--- a/src/examples/dynamic_reservation_framework.cpp
+++ b/src/examples/dynamic_reservation_framework.cpp
@@ -353,7 +353,7 @@ int main(int argc, char** argv)
{
Flags flags;
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
EXIT(EXIT_FAILURE) << flags.usage(load.error());
} else if (flags.master.isNone()) {
@@ -365,6 +365,11 @@ int main(int argc, char** argv)
<< flags.usage("Role is incorrect; the default '*' role cannot be used");
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
FrameworkInfo framework;
framework.set_user(""); // Mesos'll fill in the current user.
framework.set_name("Dynamic Reservation Framework (C++)");
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/load_generator_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/load_generator_framework.cpp b/src/examples/load_generator_framework.cpp
index b22a09e..5fac65f 100644
--- a/src/examples/load_generator_framework.cpp
+++ b/src/examples/load_generator_framework.cpp
@@ -284,7 +284,7 @@ int main(int argc, char** argv)
{
Flags flags;
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -314,6 +314,11 @@ int main(int argc, char** argv)
// We want the logger to catch failure signals.
mesos::internal::logging::initialize(argv[0], flags, true);
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
LoadGeneratorScheduler scheduler(flags.qps.get(), flags.duration);
FrameworkInfo framework;
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/long_lived_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/long_lived_framework.cpp b/src/examples/long_lived_framework.cpp
index 1740d7c..8269e38 100644
--- a/src/examples/long_lived_framework.cpp
+++ b/src/examples/long_lived_framework.cpp
@@ -519,12 +519,17 @@ public:
int main(int argc, char** argv)
{
Flags flags;
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
if (load.isError()) {
EXIT(EXIT_FAILURE) << flags.usage(load.error());
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
const Resources resources = Resources::parse(
"cpus:" + stringify(CPUS_PER_EXECUTOR) +
";mem:" + stringify(MEM_PER_EXECUTOR)).get();
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/no_executor_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/no_executor_framework.cpp b/src/examples/no_executor_framework.cpp
index f578edf..5742572 100644
--- a/src/examples/no_executor_framework.cpp
+++ b/src/examples/no_executor_framework.cpp
@@ -297,13 +297,18 @@ int main(int argc, char** argv)
{
Flags flags;
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
if (load.isError()) {
EXIT(EXIT_FAILURE)
<< flags.usage(load.error());
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
if (flags.help) {
EXIT(EXIT_SUCCESS)
<< flags.usage();
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/persistent_volume_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/persistent_volume_framework.cpp b/src/examples/persistent_volume_framework.cpp
index b4faa0e..616d9b1 100644
--- a/src/examples/persistent_volume_framework.cpp
+++ b/src/examples/persistent_volume_framework.cpp
@@ -419,7 +419,7 @@ int main(int argc, char** argv)
{
Flags flags;
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -438,6 +438,11 @@ int main(int argc, char** argv)
logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
FrameworkInfo framework;
framework.set_user(""); // Have Mesos fill in the current user.
framework.set_name("Persistent Volume Framework (C++)");
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/test_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_framework.cpp b/src/examples/test_framework.cpp
index 79113fb..e4d221c 100644
--- a/src/examples/test_framework.cpp
+++ b/src/examples/test_framework.cpp
@@ -216,7 +216,7 @@ int main(int argc, char** argv)
"master",
"ip:port of master to connect");
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
cerr << load.error() << endl;
@@ -230,6 +230,11 @@ int main(int argc, char** argv)
internal::logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
ExecutorInfo executor;
executor.mutable_executor_id()->set_value("default");
executor.mutable_command()->set_value(uri);
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/examples/test_http_framework.cpp
----------------------------------------------------------------------
diff --git a/src/examples/test_http_framework.cpp b/src/examples/test_http_framework.cpp
index db0463d..683384d 100644
--- a/src/examples/test_http_framework.cpp
+++ b/src/examples/test_http_framework.cpp
@@ -393,7 +393,7 @@ int main(int argc, char** argv)
"master",
"ip:port of master to connect");
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
cerr << load.error() << endl;
@@ -408,6 +408,11 @@ int main(int argc, char** argv)
process::initialize();
mesos::internal::logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
FrameworkInfo framework;
framework.set_name("Event Call Scheduler using libprocess (C++)");
framework.set_role(role);
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/exec/exec.cpp
----------------------------------------------------------------------
diff --git a/src/exec/exec.cpp b/src/exec/exec.cpp
index a2e6d86..69a1fb2 100644
--- a/src/exec/exec.cpp
+++ b/src/exec/exec.cpp
@@ -596,7 +596,7 @@ MesosExecutorDriver::MesosExecutorDriver(Executor* _executor)
// Load any logging flags from the environment.
logging::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
status = DRIVER_ABORTED;
@@ -617,6 +617,11 @@ MesosExecutorDriver::MesosExecutorDriver(Executor* _executor)
VLOG(1) << "Disabling initialization of GLOG logging";
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
spawn(new VersionProcess(), true);
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/executor/executor.cpp
----------------------------------------------------------------------
diff --git a/src/executor/executor.cpp b/src/executor/executor.cpp
index c7187ea..921872c 100644
--- a/src/executor/executor.cpp
+++ b/src/executor/executor.cpp
@@ -155,7 +155,7 @@ public:
// Load any logging flags from the environment.
logging::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
EXIT(EXIT_FAILURE) << "Failed to load flags: " << load.error();
@@ -171,6 +171,11 @@ public:
VLOG(1) << "Disabling initialization of GLOG logging";
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
LOG(INFO) << "Version: " << MESOS_VERSION;
spawn(new VersionProcess(), true);
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/health-check/main.cpp
----------------------------------------------------------------------
diff --git a/src/health-check/main.cpp b/src/health-check/main.cpp
index 98ea5d3..3cf8583 100644
--- a/src/health-check/main.cpp
+++ b/src/health-check/main.cpp
@@ -310,7 +310,7 @@ int main(int argc, char** argv)
Flags flags;
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -322,6 +322,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
if (flags.health_check_json.isNone()) {
cerr << flags.usage("Expected JSON with health check description") << endl;
return EXIT_FAILURE;
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/launcher/executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/executor.cpp b/src/launcher/executor.cpp
index fa4a89e..7d111e6 100644
--- a/src/launcher/executor.cpp
+++ b/src/launcher/executor.cpp
@@ -880,7 +880,7 @@ int main(int argc, char** argv)
Flags flags;
// Load flags from command line.
- Try<Nothing> load = flags.load(None(), &argc, &argv);
+ Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -892,6 +892,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// After flags.load(..., &argc, &argv) all flags will have been
// stripped from argv. Additionally, arguments after a "--"
// terminator will be preservered in argv and it is therefore
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/launcher/fetcher.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/fetcher.cpp b/src/launcher/fetcher.cpp
index d323f63..0539b01 100644
--- a/src/launcher/fetcher.cpp
+++ b/src/launcher/fetcher.cpp
@@ -444,12 +444,17 @@ int main(int argc, char* argv[])
mesos::internal::logging::Flags flags;
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
CHECK_SOME(load) << "Could not load flags: " << load.error();
logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
const Option<string> jsonFetcherInfo = os::getenv("MESOS_FETCHER_INFO");
CHECK_SOME(jsonFetcherInfo)
<< "Missing MESOS_FETCHER_INFO environment variable";
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/launcher/http_command_executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/http_command_executor.cpp b/src/launcher/http_command_executor.cpp
index c62fe3e..bd1d6c2 100644
--- a/src/launcher/http_command_executor.cpp
+++ b/src/launcher/http_command_executor.cpp
@@ -977,7 +977,7 @@ int main(int argc, char** argv)
ExecutorID executorId;
// Load flags from command line.
- Try<Nothing> load = flags.load(None(), &argc, &argv);
+ Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -989,6 +989,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// After flags.load(..., &argc, &argv) all flags will have been
// stripped from argv. Additionally, arguments after a "--"
// terminator will be preservered in argv and it is therefore
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/local/local.cpp
----------------------------------------------------------------------
diff --git a/src/local/local.cpp b/src/local/local.cpp
index 1c679ec..352f423 100644
--- a/src/local/local.cpp
+++ b/src/local/local.cpp
@@ -173,13 +173,18 @@ PID<Master> launch(const Flags& flags, Allocator* _allocator)
{
master::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
EXIT(EXIT_FAILURE)
<< "Failed to start a local cluster while loading"
<< " master flags from the environment: " << load.error();
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Load modules. Note that this covers both, master and slave
// specific modules as both use the same flag (--modules).
if (flags.modules.isSome()) {
@@ -342,7 +347,7 @@ PID<Master> launch(const Flags& flags, Allocator* _allocator)
for (int i = 0; i < flags.num_slaves; i++) {
slave::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
EXIT(EXIT_FAILURE)
@@ -350,6 +355,11 @@ PID<Master> launch(const Flags& flags, Allocator* _allocator)
<< " agent flags from the environment: " << load.error();
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Use a different work directory for each slave.
flags.work_dir = path::join(flags.work_dir, stringify(i));
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/local/main.cpp
----------------------------------------------------------------------
diff --git a/src/local/main.cpp b/src/local/main.cpp
index 51bbdfb..578b65e 100644
--- a/src/local/main.cpp
+++ b/src/local/main.cpp
@@ -70,7 +70,7 @@ int main(int argc, char **argv)
// Load flags from environment and command line but allow unknown
// flags since we might have some master/slave flags as well.
- Try<Nothing> load = flags.load("MESOS_", argc, argv, true);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv, true);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -93,6 +93,11 @@ int main(int argc, char **argv)
logging::initialize(argv[0], flags);
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
spawn(new VersionProcess(), true);
process::wait(local::launch(flags));
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/log/tool/benchmark.cpp
----------------------------------------------------------------------
diff --git a/src/log/tool/benchmark.cpp b/src/log/tool/benchmark.cpp
index 8981ea8..0f556e1 100644
--- a/src/log/tool/benchmark.cpp
+++ b/src/log/tool/benchmark.cpp
@@ -112,7 +112,7 @@ Try<Nothing> Benchmark::execute(int argc, char** argv)
// Configure the tool by parsing command line arguments.
if (argc > 0 && argv != NULL) {
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
return Error(flags.usage(load.error()));
}
@@ -123,6 +123,11 @@ Try<Nothing> Benchmark::execute(int argc, char** argv)
process::initialize();
logging::initialize(argv[0], flags);
+
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
}
if (flags.quorum.isNone()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/log/tool/initialize.cpp
----------------------------------------------------------------------
diff --git a/src/log/tool/initialize.cpp b/src/log/tool/initialize.cpp
index bd1e9ef..e980772 100644
--- a/src/log/tool/initialize.cpp
+++ b/src/log/tool/initialize.cpp
@@ -54,7 +54,7 @@ Try<Nothing> Initialize::execute(int argc, char** argv)
// Configure the tool by parsing command line arguments.
if (argc > 0 && argv != NULL) {
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
return Error(flags.usage(load.error()));
}
@@ -65,6 +65,11 @@ Try<Nothing> Initialize::execute(int argc, char** argv)
process::initialize();
logging::initialize(argv[0], flags);
+
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
}
if (flags.path.isNone()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/log/tool/read.cpp
----------------------------------------------------------------------
diff --git a/src/log/tool/read.cpp b/src/log/tool/read.cpp
index b9e90e4..415038d 100644
--- a/src/log/tool/read.cpp
+++ b/src/log/tool/read.cpp
@@ -70,7 +70,7 @@ Try<Nothing> Read::execute(int argc, char** argv)
// Configure the tool by parsing command line arguments.
if (argc > 0 && argv != NULL) {
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
return Error(flags.usage(load.error()));
}
@@ -81,6 +81,11 @@ Try<Nothing> Read::execute(int argc, char** argv)
process::initialize();
logging::initialize(argv[0], flags);
+
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
}
if (flags.path.isNone()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/log/tool/replica.cpp
----------------------------------------------------------------------
diff --git a/src/log/tool/replica.cpp b/src/log/tool/replica.cpp
index e3661df..11aef65 100644
--- a/src/log/tool/replica.cpp
+++ b/src/log/tool/replica.cpp
@@ -72,7 +72,7 @@ Try<Nothing> Replica::execute(int argc, char** argv)
// Configure the tool by parsing command line arguments.
if (argc > 0 && argv != NULL) {
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
return Error(flags.usage(load.error()));
}
@@ -83,6 +83,11 @@ Try<Nothing> Replica::execute(int argc, char** argv)
process::initialize();
logging::initialize(argv[0], flags);
+
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
}
if (flags.quorum.isNone()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/master/main.cpp
----------------------------------------------------------------------
diff --git a/src/master/main.cpp b/src/master/main.cpp
index 2d1bd55..172c099 100644
--- a/src/master/main.cpp
+++ b/src/master/main.cpp
@@ -182,7 +182,7 @@ int main(int argc, char** argv)
"the IP address which the master will try to bind to.\n"
"Cannot be used in conjunction with `--ip`.");
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -252,6 +252,11 @@ int main(int argc, char** argv)
logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Initialize modules. Note that since other subsystems may depend
// upon modules, we should initialize modules before anything else.
if (flags.modules.isSome()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/sched/sched.cpp
----------------------------------------------------------------------
diff --git a/src/sched/sched.cpp b/src/sched/sched.cpp
index 4693d0d..cc3aac9 100644
--- a/src/sched/sched.cpp
+++ b/src/sched/sched.cpp
@@ -1634,7 +1634,7 @@ void MesosSchedulerDriver::initialize() {
// we'll probably want a way to load master::Flags and slave::Flags
// as well.
local::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
status = DRIVER_ABORTED;
@@ -1662,6 +1662,11 @@ void MesosSchedulerDriver::initialize() {
VLOG(1) << "Disabling initialization of GLOG logging";
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
spawn(new VersionProcess(), true);
// Initialize Latch.
@@ -1850,7 +1855,7 @@ Status MesosSchedulerDriver::start()
// Load scheduler flags.
internal::scheduler::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
status = DRIVER_ABORTED;
@@ -1858,6 +1863,11 @@ Status MesosSchedulerDriver::start()
return status;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Initialize modules. Note that since other subsystems may depend
// upon modules, we should initialize modules before anything else.
if (flags.modules.isSome()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/scheduler/scheduler.cpp
----------------------------------------------------------------------
diff --git a/src/scheduler/scheduler.cpp b/src/scheduler/scheduler.cpp
index 7d83f3c..255454d 100644
--- a/src/scheduler/scheduler.cpp
+++ b/src/scheduler/scheduler.cpp
@@ -148,7 +148,7 @@ public:
// master::Flags and slave::Flags as well.
local::Flags flags;
- Try<Nothing> load = flags.load("MESOS_");
+ Try<flags::Warnings> load = flags.load("MESOS_");
if (load.isError()) {
EXIT(EXIT_FAILURE) << "Failed to load flags: " << load.error();
@@ -174,6 +174,11 @@ public:
VLOG(1) << "Disabling initialization of GLOG logging";
}
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
LOG(INFO) << "Version: " << MESOS_VERSION;
// Launch a local cluster if necessary.
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/slave/container_loggers/lib_logrotate.cpp
----------------------------------------------------------------------
diff --git a/src/slave/container_loggers/lib_logrotate.cpp b/src/slave/container_loggers/lib_logrotate.cpp
index 1f22880..89d2bd0 100644
--- a/src/slave/container_loggers/lib_logrotate.cpp
+++ b/src/slave/container_loggers/lib_logrotate.cpp
@@ -277,12 +277,17 @@ org_apache_mesos_LogrotateContainerLogger(
// Load and validate flags from the map.
mesos::internal::logger::Flags flags;
- Try<Nothing> load = flags.load(values);
+ Try<flags::Warnings> load = flags.load(values);
if (load.isError()) {
LOG(ERROR) << "Failed to parse parameters: " << load.error();
return NULL;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
return new mesos::internal::logger::LogrotateContainerLogger(flags);
});
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/slave/container_loggers/logrotate.cpp
----------------------------------------------------------------------
diff --git a/src/slave/container_loggers/logrotate.cpp b/src/slave/container_loggers/logrotate.cpp
index 7d36c05..08abea9 100644
--- a/src/slave/container_loggers/logrotate.cpp
+++ b/src/slave/container_loggers/logrotate.cpp
@@ -219,12 +219,17 @@ int main(int argc, char** argv)
Flags flags;
// Load and validate flags from the environment and command line.
- Try<Nothing> load = flags.load(None(), &argc, &argv);
+ Try<flags::Warnings> load = flags.load(None(), &argc, &argv);
if (load.isError()) {
EXIT(EXIT_FAILURE) << flags.usage(load.error());
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Make sure this process is running in its own session.
// This ensures that, if the parent process (presumably the Mesos agent)
// terminates, this logger process will continue to run.
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/slave/main.cpp
----------------------------------------------------------------------
diff --git a/src/slave/main.cpp b/src/slave/main.cpp
index 66aea8c..13ddfb9 100644
--- a/src/slave/main.cpp
+++ b/src/slave/main.cpp
@@ -151,7 +151,7 @@ int main(int argc, char** argv)
"the IP address which the agent will try to bind to.\n"
"Cannot be used in conjunction with `--ip`.");
- Try<Nothing> load = flags.load("MESOS_", argc, argv);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv);
// TODO(marco): this pattern too should be abstracted away
// in FlagsBase; I have seen it at least 15 times.
@@ -222,6 +222,11 @@ int main(int argc, char** argv)
logging::initialize(argv[0], flags, true); // Catch signals.
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Initialize modules. Note that since other subsystems may depend
// upon modules, we should initialize modules before anything else.
if (flags.modules.isSome()) {
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/tests/main.cpp
----------------------------------------------------------------------
diff --git a/src/tests/main.cpp b/src/tests/main.cpp
index c3ccf91..efec922 100644
--- a/src/tests/main.cpp
+++ b/src/tests/main.cpp
@@ -51,7 +51,7 @@ int main(int argc, char** argv)
// Load flags from environment and command line but allow unknown
// flags (since we might have gtest/gmock flags as well).
- Try<Nothing> load = flags.load("MESOS_", argc, argv, true);
+ Try<flags::Warnings> load = flags.load("MESOS_", argc, argv, true);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -91,6 +91,11 @@ int main(int argc, char** argv)
// Initialize logging.
logging::initialize(argv[0], flags, true);
+ // Log any flag warnings (after logging is initialized).
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
// Initialize gmock/gtest.
testing::InitGoogleTest(&argc, argv);
testing::FLAGS_gtest_death_test_style = "threadsafe";
http://git-wip-us.apache.org/repos/asf/mesos/blob/ae0aee6e/src/usage/main.cpp
----------------------------------------------------------------------
diff --git a/src/usage/main.cpp b/src/usage/main.cpp
index 7777731..ab3bb23 100644
--- a/src/usage/main.cpp
+++ b/src/usage/main.cpp
@@ -64,7 +64,7 @@ int main(int argc, char** argv)
Flags flags;
- Try<Nothing> load = flags.load(None(), argc, argv);
+ Try<flags::Warnings> load = flags.load(None(), argc, argv);
if (load.isError()) {
cerr << flags.usage(load.error()) << endl;
@@ -76,6 +76,11 @@ int main(int argc, char** argv)
return EXIT_SUCCESS;
}
+ // Log any flag warnings.
+ foreach (const flags::Warning& warning, load->warnings) {
+ LOG(WARNING) << warning.message;
+ }
+
if (flags.pid.isNone()) {
cerr << flags.usage("Missing required option --pid") << endl;
return EXIT_FAILURE;