Get desktop application:
View/edit binary Protocol Buffers messages
* Calls that can be sent to the v1 agent API. A call is described using the standard protocol buffer "union" trick, see https://developers.google.com/protocol-buffers/docs/techniques#union.
Adds a new resource provider config file. The content of the `info` field will be written into a new config file in the resource provider config directory, and a new resource provider will be launched asynchronously based on the config. Callers must not set the `info.id` field. This call is idempotent, so if a config file identical to the content of the `info` field already exists, this call will return without launching a resource provider. Note that if a config file is placed into the resource provider config directory out-of-band after the agent starts up, it will not be checked against this call. Returns 200 OK if a new config file is created, or an identical config file exists. Returns 400 Bad Request if `info` is not well-formed. Returns 403 Forbidden if the call is not authorized. Returns 409 Conflict if another config file that describes a resource provider of the same type and name exists, but the content is not identical. Returns 500 Internal Server Error if anything goes wrong.
Used in:
Attaches the caller to the STDIN of the entry point of the container. Clients can use this to stream input data to a container. Note that this call needs to be made on a persistent connection by streaming a CONTAINER_ID message followed by one or more PROCESS_IO messages.
Used in:
Used in:
Attaches the caller to the STDOUT and STDERR of the entrypoint of the container. Clients can use this to stream output/error from the container. This call will result in a streaming response of `ProcessIO`; so this call needs to be made on a persistent connection.
Used in:
Lists active containers on the agent.
Used in:
Provides a snapshot of the current metrics tracked by the agent.
Used in:
If set, `timeout` would be used to determines the maximum amount of time the API will take to respond. If the timeout is exceeded, some metrics may not be included in the response.
Kills the standalone or nested container. The signal to be sent to the container can be specified in the 'signal' field. Returns 200 OK if the signal is sent successfully. Returns 404 Not Found if the container does not exist.
Used in:
Defaults to SIGKILL.
Deprecated in favor of `KillContainer`.
Used in:
Launches a either a "standalone" container on this agent or a nested container within another tree of containers. A standalone container is launched by specifying a ContainerID with no parent. Standalone containers bypass the normal offer cycle between the master and agent. Unlike other containers, a standalone container does not have an executor or any tasks. This means the standalone container does not report back to Mesos or any framework and must be supervised separately. A nested container is launched by specifying a ContainerID with another existing container (including standalone containers) as the parent. Returns 200 OK if the new container launch succeeds. Returns 202 Accepted if the requested ContainerID is already in use by a standalone or nested container. Returns 400 Bad Request if the container launch fails.
Used in:
NOTE: Some characters cannot be used in the ID. All characters must be valid filesystem path characters. In addition, '/' and '.' are reserved.
NOTE: Nested containers may not specify resources and instead share resources with its parent container. TODO(josephw): These resources are purely used for isolation and are not accounted for by the Mesos master (if connected). It is the caller's responsibility to ensure that resources are not overcommitted (e.g. CPU and memory) or conflicting (e.g. ports and volumes). Once there is support for preempting tasks and a way to update the resources advertised by the agent, these standalone container resources should be accounted for by the master.
Deprecated in favor of `LaunchContainer`.
Used in:
Launches a nested container within an executor's tree of containers. The differences between this call and `LaunchNestedContainer` are: 1) The container's life-cycle is tied to the lifetime of the connection used to make this call, i.e., if the connection ever breaks, the container will be destroyed. 2) The nested container shares the same namespaces and cgroups as its parent container. 3) Results in a streaming response of type `ProcessIO`. So the call needs to be made on a persistent connection.
Used in:
Provides the file listing for a directory.
Used in:
Prune unused container images from image store. Images and layers referenced by active containers as well as image references specified in `excluded_images` will not be pruned.
Used in:
Reads data from a file.
Used in:
The path of file.
Initial offset in file to start reading from.
The maximum number of bytes to read. The read length is capped at 16 memory pages.
Removes a container's artifacts (runtime and sandbox directories). For nested containers, it is important to use this call if multiple nested containers are launched under the same parent container, because garbage collection only takes place at the parent container. Artifacts belonging to nested containers will not be garbage collected while the parent container is running. TODO(josephw): A standalone container's runtime directory is currently garbage collected as soon as the container exits. To allow the user to retrieve the exit status reliably, the runtime directory cannot be garbage collected immediately. Instead, the user will eventually be required to make this call after the standalone container has exited. Also, a standalone container's sandbox directory is currently not garbage collected and is only deleted via this call. Returns 200 OK if the removal is successful or if the parent container (for nested containers) does not exist. Returns 500 Internal Server Error if anything goes wrong, including if the container is still running or does not exist. TODO(josephw): Consider returning a 400 Bad Request instead of 500 Internal Server Error when the user tries to remove a running or nonexistent nested container.
Used in:
Deprecated in favor of `RemoveContainer`.
Used in:
Removes a config file from the resource provider config directory. The config file that describes the resource provider of the specified type and name will be removed, and the corresponding resource provider will be terminated asynchronously. This call is idempotent, so if no matching config file exists, this call will return without terminating any resource provider. Note that if a config file is placed into the resource provider config directory out-of-band after the agent starts up, it will not be checked against this call. Returns 200 OK if the config file is removed, or no matching config file exists. Returns 403 Forbidden if the call is not authorized. Returns 500 Internal Server Error if anything goes wrong.
Used in:
Sets the logging verbosity level for a specified duration. Mesos uses [glog](https://github.com/google/glog) for logging. The library only uses verbose logging which means nothing will be output unless the verbosity level is set (by default it's 0, libprocess uses levels 1, 2, and 3).
Used in:
The verbosity level.
The duration to keep verbosity level toggled. After this duration, the verbosity level of log would revert to the original level.
If a call of type `Call::FOO` requires additional parameters they can be included in the corresponding `Call::Foo` message. Similarly, if a call receives a synchronous response it will be returned as a `Response` message of type `Response::FOO`; see `Call::LaunchNestedContainerSession` and `Call::AttachContainerOutput` for exceptions.
Used in:
Retrieves the agent's health status.
Retrieves the agent's flag configuration.
Retrieves the agent's version information.
See 'GetMetrics' below.
Retrieves the agent's logging level.
See 'SetLoggingLevel' below.
See 'ReadFile' below.
Retrieves the information about known frameworks.
Retrieves the information about known executors.
Retrieves the information about known operations.
Retrieves the information about known tasks.
Retrieves the agent information.
Retrieves the information about known resource providers.
Calls for managing nested containers underneath an executor's container. Some of these calls are deprecated in favor of the calls for both standalone or nested containers further below.
See 'LaunchNestedContainerSession' below.
See 'AttachContainerInput' below.
see 'AttachContainerOutput' below.
Calls for managing standalone containers or containers nested underneath another container.
See 'LaunchContainer' below.
See 'WaitContainer' below.
See 'KillContainer' below.
See 'RemoveContainer' below.
See 'AddResourceProviderConfig' below. // NOLINT
See 'UpdateResourceProviderConfig' below. // NOLINT
See 'RemoveResourceProviderConfig' below. // NOLINT
Prune unused container images.
Updates an existing resource provider config file. The content of the `info` field will be written into an existing config file that describes a resource provider of the specified type and name in the resource provider config directory, and the corresponding resource provider will be relaunched asynchronously to reflect the changes in the config. Callers must not set the `info.id` field. This call is idempotent, so if there is no change in the config, this call will return without relaunching the resource provider. Note that if a config file is placed into the resource provider config directory out-of-band after the agent starts up, it will not be checked against this call. Returns 200 OK if an existing config file is updated, or there is no change in the config file. Returns 400 Bad Request if `info` is not well-formed. Returns 403 Forbidden if the call is not authorized. Returns 404 Not Found if no config file describes a resource provider of the same type and name exists. Returns 500 Internal Server Error if anything goes wrong.
Used in:
Waits for the standalone or nested container to terminate and returns the exit status. Returns 200 OK if and when the container exits. Returns 404 Not Found if the container does not exist.
Used in:
Deprecated in favor of `WaitContainer`.
Used in:
* Streaming response to `Call::LAUNCH_NESTED_CONTAINER_SESSION` and `Call::ATTACH_CONTAINER_OUTPUT`. This message is also used to stream request data for `Call::ATTACH_CONTAINER_INPUT`.
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
* Synchronous responses for all calls made to the v1 agent API.
Contains the agent's information.
Used in:
Information about containers running on this agent. It contains ContainerStatus and ResourceStatistics along with some metadata of the containers.
Used in:
Used in:
Lists information about all the executors known to the agent at the current time.
Used in:
,Used in:
Contains the flag configuration of the agent.
Used in:
Information about all the frameworks known to the agent at the current time.
Used in:
,Used in:
`healthy` would be true if the agent is healthy. Delayed responses are also indicative of the poor health of the agent.
Used in:
Contains the logging level of the agent.
Used in:
Contains a snapshot of the current metrics.
Used in:
Lists information about all operations known to the agent at the current time.
Used in:
Lists information about all resource providers known to the agent at the current time.
Used in:
Used in:
Contains full state of the agent i.e. information about the tasks, frameworks and executors running in the cluster.
Used in:
Lists information about all the tasks known to the agent at the current time.
Used in:
,Tasks that are pending in the agent's queue before an executor is launched.
Tasks that are enqueued for a launched executor that has not yet registered.
Tasks that are running.
Tasks that are terminated but pending updates.
Tasks that are terminated and updates acked.
Contains the version information of the agent.
Used in:
Contains the file listing(similar to `ls -l`) for a directory.
Used in:
Contains the file data.
Used in:
The size of file (in bytes).
Each of the responses of type `FOO` corresponds to `Foo` message below.
Used in:
See 'GetHealth' below.
See 'GetFlags' below.
See 'GetVersion' below.
See 'GetMetrics' below.
See 'GetLoggingLevel' below.
See 'ReadFile' below.
See 'GetFrameworks' below.
See 'GetExecutors' below.
See 'GetOperations' below.
See 'GetTasks' below.
See 'GetAgent' below.
See 'GetResourceProviders' below.
See 'WaitContainer' below.
Returns termination information about the standalone or nested container.
Used in:
Wait status of the lead process in the container. Note that this is the return value of `wait(2)`, so callers must use the `wait(2)` family of macros to extract whether the process exited cleanly and what the exit code was.
The `state` and `reason` fields may be populated if the Mesos agent terminates the container. In the absence of any special knowledge, executors should propagate this information via the `status` field of an `Update` call for the corresponding TaskID.
This field will be populated if the task was terminated due to a resource limitation.
Returns termination information about the nested container.
Used in:
Wait status of the lead process in the container. Note that this is the return value of `wait(2)`, so callers must use the `wait(2)` family of macros to extract whether the process exited cleanly and what the exit code was.
The `state` and `reason` fields may be populated if the Mesos agent terminates the container. In the absence of any special knowledge, executors should propagate this information via the `status` field of an `Update` call for the corresponding TaskID.
This field will be populated if the task was terminated due to a resource limitation.