| 394 | |
| 395 | |
| 396 | int main(int argc, char** argv) |
| 397 | { |
| 398 | // Find this executable's directory to locate executor. |
| 399 | string uri; |
| 400 | Option<string> value = os::getenv("MESOS_HELPER_DIR"); |
| 401 | if (value.isSome()) { |
| 402 | uri = path::join(value.get(), EXECUTOR_BINARY); |
| 403 | } else { |
| 404 | uri = |
| 405 | path::join(os::realpath(Path(argv[0]).dirname()).get(), EXECUTOR_BINARY); |
| 406 | } |
| 407 | |
| 408 | Flags flags; |
| 409 | |
| 410 | Try<flags::Warnings> load = flags.load("MESOS_EXAMPLE_", argc, argv); |
| 411 | |
| 412 | if (flags.help) { |
| 413 | cout << flags.usage() << endl; |
| 414 | return EXIT_SUCCESS; |
| 415 | } |
| 416 | |
| 417 | if (load.isError()) { |
| 418 | cerr << flags.usage(load.error()) << endl; |
| 419 | return EXIT_FAILURE; |
| 420 | } |
| 421 | |
| 422 | mesos::internal::logging::initialize(argv[0], true, flags); // Catch signals. |
| 423 | |
| 424 | // Log any flag warnings. |
| 425 | foreach (const flags::Warning& warning, load->warnings) { |
| 426 | LOG(WARNING) << warning.message; |
| 427 | } |
| 428 | |
| 429 | FrameworkInfo framework; |
| 430 | framework.set_principal(flags.principal); |
| 431 | framework.set_name(FRAMEWORK_NAME); |
| 432 | framework.set_checkpoint(flags.checkpoint); |
| 433 | framework.add_roles(flags.role); |
| 434 | framework.add_capabilities()->set_type( |
| 435 | FrameworkInfo::Capability::MULTI_ROLE); |
| 436 | framework.add_capabilities()->set_type( |
| 437 | FrameworkInfo::Capability::RESERVATION_REFINEMENT); |
| 438 | |
| 439 | const Result<string> user = os::user(); |
| 440 | |
| 441 | CHECK_SOME(user); |
| 442 | framework.set_user(user.get()); |
| 443 | |
| 444 | ExecutorInfo executor; |
| 445 | executor.mutable_executor_id()->set_value("default"); |
| 446 | executor.mutable_command()->set_value(uri); |
| 447 | executor.set_name(EXECUTOR_NAME); |
| 448 | |
| 449 | Option<Credential> credential = None(); |
| 450 | |
| 451 | if (flags.authenticate) { |
| 452 | LOG(INFO) << "Enabling authentication for the framework"; |
| 453 |
nothing calls this directly
no test coverage detected