MCPcopy Create free account
hub / github.com/apache/mesos / main

Function main

src/examples/test_http_framework.cpp:396–486  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

394
395
396int 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

Callers

nothing calls this directly

Calls 15

PathClass · 0.85
NoneClass · 0.85
protobufFunction · 0.85
dirnameMethod · 0.80
errorMethod · 0.65
getenvFunction · 0.50
joinFunction · 0.50
realpathFunction · 0.50
initializeFunction · 0.50
userFunction · 0.50
setenvFunction · 0.50
stringifyFunction · 0.50

Tested by

no test coverage detected