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

Function main

src/examples/docker_no_executor_framework.cpp:181–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

179
180
181int main(int argc, char** argv)
182{
183 Flags flags;
184 Try<flags::Warnings> load = flags.load("MESOS_EXAMPLE_", argc, argv);
185
186 if (flags.help) {
187 std::cout << flags.usage() << std::endl;
188 return EXIT_SUCCESS;
189 }
190
191 if (load.isError()) {
192 std::cerr << flags.usage(load.error()) << std::endl;
193 return EXIT_FAILURE;
194 }
195
196 internal::logging::initialize(argv[0], false);
197
198 FrameworkInfo framework;
199 framework.set_user(""); // Have Mesos fill in the current user.
200 framework.set_principal(flags.principal);
201 framework.set_name(FRAMEWORK_NAME);
202 framework.set_checkpoint(flags.checkpoint);
203 framework.add_roles(flags.role);
204 framework.add_capabilities()->set_type(
205 FrameworkInfo::Capability::RESERVATION_REFINEMENT);
206
207 if (flags.master == "local") {
208 // Configure master.
209 os::setenv("MESOS_ROLES", flags.role);
210 os::setenv("MESOS_AUTHENTICATE_FRAMEWORKS", stringify(flags.authenticate));
211
212 ACLs acls;
213 ACL::RegisterFramework* acl = acls.add_register_frameworks();
214 acl->mutable_principals()->set_type(ACL::Entity::ANY);
215 acl->mutable_roles()->add_values("*");
216 os::setenv("MESOS_ACLS", stringify(JSON::protobuf(acls)));
217 }
218
219 DockerNoExecutorScheduler scheduler;
220
221 MesosSchedulerDriver* driver;
222
223 if (flags.authenticate) {
224 LOG(INFO) << "Enabling authentication for the framework";
225
226 Credential credential;
227 credential.set_principal(flags.principal);
228 if (flags.secret.isSome()) {
229 credential.set_secret(flags.secret.get());
230 }
231
232 driver = new MesosSchedulerDriver(
233 &scheduler,
234 framework,
235 argv[1],
236 credential);
237 } else {
238 driver = new MesosSchedulerDriver(

Callers

nothing calls this directly

Calls 12

protobufFunction · 0.85
errorMethod · 0.65
runMethod · 0.65
stopMethod · 0.65
initializeFunction · 0.50
setenvFunction · 0.50
stringifyFunction · 0.50
loadMethod · 0.45
usageMethod · 0.45
isErrorMethod · 0.45
isSomeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected