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

Method prepareCluster

src/tests/master_load_tests.cpp:246–288  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244
245
246void MasterLoadTest::prepareCluster(Authorizer* authorizer)
247{
248 // Start a master.
249 authorizer_.reset(new BlockingAuthorizer(authorizer));
250 master::Flags masterFlags = CreateMasterFlags();
251 Try<Owned<cluster::Master>> master = StartMaster(
252 authorizer_.get(), masterFlags);
253
254 ASSERT_SOME(master);
255 master_ = master.get();
256 detector_ = master_->createDetector();
257
258 Future<FrameworkRegisteredMessage> frameworkRegisteredMessage =
259 FUTURE_PROTOBUF(FrameworkRegisteredMessage(), _, _);
260
261 Future<SlaveRegisteredMessage> slaveRegisteredMessage =
262 FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
263
264 // Start a framework.
265 scheduler_.reset(new MockScheduler());
266 driver_.reset(new TestingMesosSchedulerDriver(
267 scheduler_.get(), detector_.get()));
268
269 EXPECT_CALL(*scheduler_, registered(driver_.get(), _, _))
270 .WillOnce(SaveArg<1>(&frameworkId_));
271
272 driver_->start();
273 AWAIT_READY(frameworkRegisteredMessage);
274
275 // Start an agent.
276 slave::Flags slaveFlags = CreateSlaveFlags();
277 Try<Owned<cluster::Slave>> slave = StartSlave(detector_.get(), slaveFlags);
278
279 ASSERT_SOME(slave);
280 slave_ = slave.get();
281
282 AWAIT_READY(slaveRegisteredMessage);
283
284 // NOTE: Authorizer is blocked after preparing the cluster, otherwise
285 // framework registration, which also uses `prepareObjectApprover(...) will
286 // be blocked too.
287 authorizer_->block();
288}
289
290
291std::multimap<MasterLoadTest::RequestDescriptor, Future<Response>>

Callers

nothing calls this directly

Calls 5

createDetectorMethod · 0.80
startMethod · 0.65
resetMethod · 0.45
getMethod · 0.45
blockMethod · 0.45

Tested by

no test coverage detected