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

Method fetch

src/slave/containerizer/mesos/containerizer.cpp:1618–1652  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1616
1617
1618Future<Nothing> MesosContainerizerProcess::fetch(
1619 const ContainerID& containerId)
1620{
1621 if (!containers_.contains(containerId)) {
1622 return Failure("Container destroyed during isolating");
1623 }
1624
1625 const Owned<Container>& container = containers_.at(containerId);
1626
1627 if (container->state == DESTROYING) {
1628 return Failure("Container is being destroyed during isolating");
1629 }
1630
1631 CHECK_EQ(container->state, ISOLATING);
1632
1633 transition(containerId, FETCHING);
1634
1635 CHECK_SOME(container->config);
1636
1637 const string directory = container->config->directory();
1638
1639 return fetcher->fetch(
1640 containerId,
1641 container->config->command_info(),
1642 directory,
1643 container->config->has_user()
1644 ? container->config->user()
1645 : Option<string>::none())
1646 .then([=]() -> Future<Nothing> {
1647 if (HookManager::hooksAvailable()) {
1648 HookManager::slavePostFetchHook(containerId, directory);
1649 }
1650 return Nothing();
1651 });
1652}
1653
1654
1655Future<Containerizer::LaunchResult> MesosContainerizerProcess::_launch(

Callers

nothing calls this directly

Calls 7

FailureClass · 0.85
NothingClass · 0.85
atMethod · 0.80
userMethod · 0.80
fetchMethod · 0.65
containsMethod · 0.45
thenMethod · 0.45

Tested by

no test coverage detected