Get desktop application:
View/edit binary Protocol Buffers messages
* Executor call API. Like Event, a Call is described using the standard protocol buffer "union" trick (see above).
Identifies the executor which generated this call.
Type of the call, indicates which optional field below should be present if that type has a nested message definition. In case type is SUBSCRIBED, no message needs to be set. See comments on `Event::Type` above on the reasoning behind this field being optional.
Sends arbitrary binary data to the scheduler. Note that Mesos neither interprets this data nor makes any guarantees about the delivery of this message to the scheduler. See 'Message' in the 'Events' section.
Used in:
Request to subscribe with the agent. If subscribing after a disconnection, it must include a list of all the tasks and updates which haven't been acknowledged by the scheduler.
Used in:
Possible call types, followed by message definitions if applicable.
Used in:
See comments above on `Event::Type` for more details on this enum value.
See 'Subscribe' below.
See 'Update' below.
See 'Message' below.
Notifies the scheduler that a task has transitioned from one state to another. Status updates should be used by executors to reliably communicate the status of the tasks that they manage. It is crucial that a terminal update (see TaskState in v1/mesos.proto) is sent to the scheduler as soon as the task terminates, in order for Mesos to release the resources allocated to the task. It is the responsibility of the scheduler to explicitly acknowledge the receipt of a status update. See 'Acknowledged' in the 'Events' section above for the semantics.
Used in:
,* Executor event API. An event is described using the standard protocol buffer "union" trick, see https://developers.google.com/protocol-buffers/docs/techniques#union.
Type of the event, indicates which optional field below should be present if that type has a nested message definition. Enum fields should be optional, see: MESOS-4997.
Received when the agent acknowledges the receipt of status update. Schedulers are responsible for explicitly acknowledging the receipt of status updates that have 'update.status().uuid()' field set. Unacknowledged updates can be retried by the executor. They should also be sent by the executor whenever it re-subscribes.
Used in:
Received in case the executor sends invalid calls (e.g., required values not set). TODO(arojas): Remove this once the old executor driver is no longer supported. With HTTP API all errors will be signaled via HTTP response codes.
Used in:
Received when the scheduler wants to kill a specific task. Once the task is terminated, the executor should send a TASK_KILLED (or TASK_FAILED) update. The terminal update is necessary so Mesos can release the resources associated with the task.
Used in:
If set, overrides any previously specified kill policy for this task. This includes 'TaskInfo.kill_policy' and 'Executor.kill.kill_policy'. Can be used to forcefully kill a task which is already being killed.
Received when the framework attempts to launch a task. Once the task is successfully launched, the executor must respond with a TASK_RUNNING update (See TaskState in v1/mesos.proto).
Used in:
Received when the framework attempts to launch a group of tasks atomically. Similar to `Launch` above the executor must send TASK_RUNNING updates for tasks that are successfully launched.
Used in:
Received when a custom message generated by the scheduler is forwarded by the agent. Note that this message is not interpreted by Mesos and is only forwarded (without reliability guarantees) to the executor. It is up to the scheduler to retry if the message is dropped for any reason.
Used in:
First event received when the executor subscribes. The 'id' field in the 'framework_info' will be set.
Used in:
Uniquely identifies the container of an executor run.
Possible event types, followed by message definitions if applicable.
Used in:
This must be the first enum value in this list, to ensure that if 'type' is not set, the default value is UNKNOWN. This enables enum values to be added in a backwards-compatible way. See: MESOS-4997.
See 'Subscribed' below.
See 'Launch' below.
See 'LaunchGroup' below.
See 'Kill' below.
See 'Acknowledged' below.
See 'Message' below.
See 'Error' below.
Received when the agent asks the executor to shutdown/kill itself. The executor is then required to kill all its active tasks, send `TASK_KILLED` status updates and gracefully exit. The executor should terminate within a `MESOS_EXECUTOR_SHUTDOWN_GRACE_PERIOD` (an environment variable set by the agent upon executor startup); it can be configured via `ExecutorInfo.shutdown_grace_period`. If the executor fails to do so, the agent will forcefully destroy the container where the executor is running. The agent would then send `TASK_LOST` updates for any remaining active tasks of this executor. NOTE: The executor must not assume that it will always be allotted the full grace period, as the agent may decide to allot a shorter period and failures / forcible terminations may occur. TODO(alexr): Consider adding a duration field into the `Shutdown` message so that the agent can communicate when a shorter period has been allotted.