You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by jc...@apache.org on 2016/06/08 17:36:16 UTC
aurora git commit: Updated documentation to include custom executor
explaination
Repository: aurora
Updated Branches:
refs/heads/master 583607a9e -> e89521f1e
Updated documentation to include custom executor explaination
Reviewed at https://reviews.apache.org/r/48360/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/e89521f1
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/e89521f1
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/e89521f1
Branch: refs/heads/master
Commit: e89521f1eebd9a5301eb02e2ed6ffebdecd54c9a
Parents: 583607a
Author: Renan DelValle <rd...@binghamton.edu>
Authored: Wed Jun 8 12:35:51 2016 -0500
Committer: Joshua Cohen <jc...@apache.org>
Committed: Wed Jun 8 12:35:51 2016 -0500
----------------------------------------------------------------------
docs/operations/configuration.md | 117 +++++++++++++++++++++++++++++++++-
1 file changed, 116 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/e89521f1/docs/operations/configuration.md
----------------------------------------------------------------------
diff --git a/docs/operations/configuration.md b/docs/operations/configuration.md
index 65cf64a..e332f86 100644
--- a/docs/operations/configuration.md
+++ b/docs/operations/configuration.md
@@ -143,7 +143,122 @@ If you need to do computation before starting the thermos executor (for example,
For example, to wrap the executor inside a simple wrapper, the scheduler will be started like this
`-thermos_executor_path=/path/to/wrapper.sh -thermos_executor_resources=/usr/share/aurora/bin/thermos_executor.pex`
-
+## Custom Executor\u2028\u2028
+
+If the need arises to use a Mesos executor other than the Thermos executor, the scheduler can be
+configured to utilize a custom executor by specifying the `-custom_executor_config` flag.
+The flag must be set to the path of a valid executor configuration file.\u2028
+
+The configuration file must be valid JSON and contain, at minimum, the name, command and resources fields.
+
+
+### executor
+
+Property | Description
+----------------------- | ---------------------------------
+name (required) | Name of the executor.
+command (required) | How to run the executor.
+resources (required) | Overhead to use for each executor instance.
+
+#### command
+
+Property | Description
+----------------------- | ---------------------------------
+value (required) | The command to execute.
+arguments (optional) | A list of arguments to pass to the command.
+uris (optional) | List of resources to download into the task sandbox.
+
+##### uris (list)
+* Follows the [Mesos Fetcher schema](http://mesos.apache.org/documentation/latest/fetcher/)
+
+Property | Description
+----------------------- | ---------------------------------
+value (required) | Path to the resource needed in the sandbox.
+executable (optional) | Change resource to be executable via chmod.
+extract (optional) | Extract files from packed or compressed archives into the sandbox.
+cache (optional) | Use caching mechanism provided by Mesos for resources.
+
+#### resources (list)
+
+Property | Description
+------------------- | ---------------------------------
+name (required) | Name of the resource: cpus or mem.
+type (required) | Type of resource. Should always be SCALAR.
+scalar (required) | Value in float for cpus or int for mem (in MBs)
+
+### volume_mounts (list)
+
+Property | Description
+------------------------ | ---------------------------------
+host_path (required) | Host path to mount inside the container.
+container_path (required) | Path inside the container where `host_path` will be mounted.
+mode (required) | Mode in which to mount the volume, Read-Write (RW) or Read-Only (RO).
+
+
+A sample configuration is as follows:\u2028
+```
+ {
+ "executor": {
+ "name": "myExecutor",
+ "command": {
+ "value": "myExecutor.sh",
+ "arguments": [
+ "localhost:2181",
+ "-verbose",
+ "-config myConfiguration.config"
+ ],
+ "uris": [
+ {
+ "value": "/dist/myExecutor.sh",
+ "executable": true,
+ "extract": false,
+ "cache": true
+ },
+ {
+ "value": "/home/user/myConfiguration.config",
+ "executable": false,
+ "extract": false,
+ "cache": false
+ }
+ ]
+ },
+ "resources": [
+ {
+ "name": "cpus",
+ "type": "SCALAR",
+ "scalar": {
+ "value": 1.00
+ }
+ },
+ {
+ "name": "mem",
+ "type": "SCALAR",
+ "scalar": {
+ "value": 512
+ }
+ }
+ ]
+ },
+ "volume_mounts": [
+ {
+ "mode": "RO",
+ "container_path": "/path/on/container",
+ "host_path": "/path/to/host/directory"
+ },
+ {
+ "mode": "RW",
+ "container_path": "/container",
+ "host_path": "/host"
+ }
+ ]
+ }
+```
+
+It should be noted that if you do not use thermos or a thermos based executor, links in the scheduler's
+Web UI for tasks\u2028 will not work (at least for the time being).
+Some information about launched tasks can still be accessed via the Mesos Web UI or via the Aurora Client.
+Furthermore, this configuration replaces the default thermos executor.
+Work is in progress to allow support for multiple executors to co-exist within a single scheduler.
### Docker containers
In order for Aurora to launch jobs using docker containers, a few extra configuration options