| 242 | // to get host networking to work. |
| 243 | #ifdef __linux__ |
| 244 | TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor) |
| 245 | { |
| 246 | Try<Owned<cluster::Master>> master = StartMaster(); |
| 247 | ASSERT_SOME(master); |
| 248 | |
| 249 | MockDocker* mockDocker = |
| 250 | new MockDocker(tests::flags.docker, tests::flags.docker_socket); |
| 251 | |
| 252 | Shared<Docker> docker(mockDocker); |
| 253 | |
| 254 | slave::Flags flags = CreateSlaveFlags(); |
| 255 | |
| 256 | Fetcher fetcher(flags); |
| 257 | |
| 258 | Try<ContainerLogger*> logger = |
| 259 | ContainerLogger::create(flags.container_logger); |
| 260 | |
| 261 | ASSERT_SOME(logger); |
| 262 | |
| 263 | MockDockerContainerizer dockerContainerizer( |
| 264 | flags, |
| 265 | &fetcher, |
| 266 | Owned<ContainerLogger>(logger.get()), |
| 267 | docker); |
| 268 | |
| 269 | Owned<MasterDetector> detector = master.get()->createDetector(); |
| 270 | |
| 271 | Try<Owned<cluster::Slave>> slave = |
| 272 | StartSlave(detector.get(), &dockerContainerizer, flags); |
| 273 | ASSERT_SOME(slave); |
| 274 | |
| 275 | MockScheduler sched; |
| 276 | MesosSchedulerDriver driver( |
| 277 | &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL); |
| 278 | |
| 279 | Future<FrameworkID> frameworkId; |
| 280 | EXPECT_CALL(sched, registered(&driver, _, _)) |
| 281 | .WillOnce(FutureArg<1>(&frameworkId)); |
| 282 | |
| 283 | Future<vector<Offer>> offers; |
| 284 | EXPECT_CALL(sched, resourceOffers(&driver, _)) |
| 285 | .WillOnce(FutureArg<1>(&offers)) |
| 286 | .WillRepeatedly(Return()); // Ignore subsequent offers. |
| 287 | |
| 288 | driver.start(); |
| 289 | |
| 290 | AWAIT_READY(frameworkId); |
| 291 | |
| 292 | AWAIT_READY(offers); |
| 293 | ASSERT_FALSE(offers->empty()); |
| 294 | |
| 295 | ExecutorID executorId; |
| 296 | executorId.set_value("e1"); |
| 297 | |
| 298 | CommandInfo command; |
| 299 | command.set_value("/bin/test-executor"); |
| 300 | |
| 301 | TaskInfo task = createTask( |
nothing calls this directly
no test coverage detected