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

Function validateTask

src/master/validation.cpp:1619–1651  ·  view source on GitHub ↗

Validates task specific fields except its executor (if it exists).

Source from the content-addressed store, hash-verified

1617
1618// Validates task specific fields except its executor (if it exists).
1619Option<Error> validateTask(
1620 const TaskInfo& task,
1621 Framework* framework,
1622 Slave* slave)
1623{
1624 CHECK_NOTNULL(framework);
1625 CHECK_NOTNULL(slave);
1626
1627 // NOTE: The order in which the following validate functions are
1628 // executed does matter!
1629 vector<lambda::function<Option<Error>()>> validators = {
1630 lambda::bind(internal::validateTaskID, task),
1631 lambda::bind(internal::validateUniqueTaskID, task, framework),
1632 lambda::bind(internal::validateSlaveID, task, slave),
1633 lambda::bind(internal::validateKillPolicy, task),
1634 lambda::bind(internal::validateMaxCompletionTime, task),
1635 lambda::bind(internal::validateCheck, task),
1636 lambda::bind(internal::validateHealthCheck, task),
1637 lambda::bind(internal::validateResources, task),
1638 lambda::bind(internal::validateCommandInfo, task),
1639 lambda::bind(internal::validateContainerInfo, task),
1640 lambda::bind(internal::validateResourceLimits, task, slave)
1641 };
1642
1643 foreach (const lambda::function<Option<Error>()>& validator, validators) {
1644 Option<Error> error = validator();
1645 if (error.isSome()) {
1646 return error;
1647 }
1648 }
1649
1650 return None();
1651}
1652
1653
1654// Validates `Task.executor` if it exists.

Callers 1

foreachFunction · 0.85

Calls 6

NoneClass · 0.85
typeMethod · 0.80
bindFunction · 0.50
ErrorFunction · 0.50
isSomeMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected