You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by vi...@apache.org on 2016/01/29 22:34:44 UTC

[1/2] mesos git commit: Synchronized 'configuration.md' with the 'flags.cpp' files.

Repository: mesos
Updated Branches:
  refs/heads/master 7ead51800 -> c2d0ac5c0


Synchronized 'configuration.md' with the 'flags.cpp' files.

Programatically generated HTML from the flag help strings and imported
that text into 'configuration.md', thus synchronizing the documentation
with the source code.

Review: https://reviews.apache.org/r/42939/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fb0224c4
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fb0224c4
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fb0224c4

Branch: refs/heads/master
Commit: fb0224c4601cfbd5c8d435bcea0fcab86921e896
Parents: 7ead518
Author: Greg Mann <gr...@mesosphere.io>
Authored: Fri Jan 29 13:32:25 2016 -0800
Committer: Vinod Kone <vi...@gmail.com>
Committed: Fri Jan 29 13:32:25 2016 -0800

----------------------------------------------------------------------
 docs/configuration.md | 2844 ++++++++++++++++++++++----------------------
 1 file changed, 1393 insertions(+), 1451 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/fb0224c4/docs/configuration.md
----------------------------------------------------------------------
diff --git a/docs/configuration.md b/docs/configuration.md
index b1ef131..2f0628a 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -33,7 +33,6 @@ be found by running the binary with the flag `--help`, for example
 ## Master and Slave Options
 
 *These options can be supplied to both masters and slaves.*
-Also see the [common options for logging](logging.md#Internal).
 
 <table class="table table-striped">
   <thead>
@@ -46,42 +45,40 @@ Also see the [common options for logging](logging.md#Internal).
       </th>
     </tr>
   </thead>
-
-  <tr>
-    <td>
-      --advertise_ip=VALUE
-    </td>
-    <td>
-      IP address advertised to reach mesos master/slave. Mesos master/slave
-      does not bind using this IP address. However, this IP address may be
-      used to access Mesos master/slave.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --advertise_port=VALUE
-    </td>
-    <td>
-      Port advertised to reach mesos master/slave (along with
-      <code>advertise_ip</code>). Mesos master/slave does not bind using this
-      port. However, this port (along with <code>advertise_ip</code>) may be
-      used to access Mesos master/slave.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --firewall_rules=VALUE
-    </td>
-    <td>
-      The value could be a JSON-formatted string of rules or a file path
-      containing the JSON-formatted rules used in the endpoints firewall. Path
-      could be of the form <code>file:///path/to/file</code> or
-      <code>/path/to/file</code>.
-      <p/>
-      See the <code>Firewall</code> message in <code>flags.proto</code>
-      for the expected format.
-      <p/>
-      Example:
+<tr>
+  <td>
+    --advertise_ip=VALUE
+  </td>
+  <td>
+IP address advertised to reach mesos master/slave.
+Mesos master/slave does not bind using this IP address.
+However, this IP address may be used to access Mesos master/slave.
+  </td>
+</tr>
+<tr>
+  <td>
+    --advertise_port=VALUE
+  </td>
+  <td>
+Port advertised to reach mesos master/slave (along with
+<code>advertise_ip</code>). Mesos master/slave does not bind using this port.
+However, this port (along with <code>advertise_ip</code>) may be used to
+access Mesos master/slave.
+  </td>
+</tr>
+<tr>
+  <td>
+    --firewall_rules=VALUE
+  </td>
+  <td>
+The value could be a JSON-formatted string of rules or a
+file path containing the JSON-formatted rules used in the endpoints
+firewall. Path must be of the form <code>file:///path/to/file</code>
+or <code>/path/to/file</code>.
+<p/>
+See the <code>Firewall</code> message in <code>flags.proto</code> for the expected format.
+<p/>
+Example:
 <pre><code>{
   "disabled_endpoints" : {
     "paths" : [
@@ -90,51 +87,216 @@ Also see the [common options for logging](logging.md#Internal).
     ]
   }
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]help
-    </td>
-    <td>
-      Prints this help message. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --ip=VALUE
-    </td>
-    <td>
-      IP address to listen on; this cannot be used in conjunction
-      with <code>--ip_discovery_command</code>.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --ip_discovery_command=VALUE
-    </td>
-    <td>
-      Optional IP discovery command: if set, it is expected to emit
-      the IP address which Master will try to bind to.  Cannot be used
-      in conjunction with <code>--ip</code>.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --port=VALUE
-    </td>
-    <td>
-      Port to listen on. (master default: 5050; slave default: 5051)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]version
-    </td>
-    <td>
-      Show version and exit. (default: false)
-    </td>
-  </tr>
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]help
+  </td>
+  <td>
+Show the help message and exit. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --ip=VALUE
+  </td>
+  <td>
+IP address to listen on. This cannot be used in conjunction
+with <code>--ip_discovery_command</code>. (master default: 5050; slave default: 5051)
+  </td>
+</tr>
+<tr>
+  <td>
+    --ip_discovery_command=VALUE
+  </td>
+  <td>
+Optional IP discovery binary: if set, it is expected to emit
+the IP address which the master/slave will try to bind to.
+Cannot be used in conjunction with <code>--ip</code>.
+  </td>
+</tr>
+<tr>
+  <td>
+    --port=VALUE
+  </td>
+  <td>
+Port to listen on.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]version
+  </td>
+  <td>
+Show version and exit. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --hooks=VALUE
+  </td>
+  <td>
+A comma-separated list of hook modules to be installed inside master/slave.
+  </td>
+</tr>
+<tr>
+  <td>
+    --hostname=VALUE
+  </td>
+  <td>
+The hostname the slave node should report, or that the master
+should advertise in ZooKeeper.
+If left unset, the hostname is resolved from the IP address
+that the master/slave binds to; unless the user explicitly prevents
+that, using <code>--no-hostname_lookup</code>, in which case the IP itself
+is used.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]hostname_lookup
+  </td>
+  <td>
+Whether we should execute a lookup to find out the server's hostname,
+if not explicitly set (via, e.g., <code>--hostname</code>).
+True by default; if set to <code>false</code> it will cause Mesos
+to use the IP address, unless the hostname is explicitly set. (default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --modules=VALUE
+  </td>
+  <td>
+List of modules to be loaded and be available to the internal
+subsystems.
+<p/>
+Use <code>--modules=filepath</code> to specify the list of modules via a
+file containing a JSON-formatted string. <code>filepath</code> can be
+of the form <code>file:///path/to/file</code> or <code>/path/to/file</code>.
+<p/>
+Use <code>--modules="{...}"</code> to specify the list of modules inline.
+<p/>
+Example:
+<pre><code>{
+  "libraries": [
+    {
+      "file": "/path/to/libfoo.so",
+      "modules": [
+        {
+          "name": "org_apache_mesos_bar",
+          "parameters": [
+            {
+              "key": "X",
+              "value": "Y"
+            }
+          ]
+        },
+        {
+          "name": "org_apache_mesos_baz"
+        }
+      ]
+    },
+    {
+      "name": "qux",
+      "modules": [
+        {
+          "name": "org_apache_mesos_norf"
+        }
+      ]
+    }
+  ]
+}</code></pre>
+  </td>
+</tr>
+</table>
+
+*These logging options can also be supplied to both masters and slaves.*
+For more about logging, see the [logging documentation](logging.md).
+
+<table class="table table-striped">
+  <thead>
+    <tr>
+      <th width="30%">
+        Flag
+      </th>
+      <th>
+        Explanation
+      </th>
+    </tr>
+  </thead>
+<tr>
+  <td>
+    --[no-]quiet
+  </td>
+  <td>
+Disable logging to stderr (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --log_dir=VALUE
+  </td>
+  <td>
+Location to put log files.  By default, nothing is written to disk.
+Does not affect logging to stderr.
+If specified, the log file will appear in the Mesos WebUI.
+<b>NOTE</b>: 3rd party log messages (e.g. ZooKeeper) are
+only written to stderr!
+  </td>
+</tr>
+<tr>
+  <td>
+    --logbufsecs=VALUE
+  </td>
+  <td>
+Maximum number of seconds that logs may be buffered for.
+By default, logs are flushed immediately. (default: 0)
+  </td>
+</tr>
+<tr>
+  <td>
+    --logging_level=VALUE
+  </td>
+  <td>
+Log message at or above this level.
+Possible values: <code>INFO</code>, <code>WARNING</code>, <code>ERROR</code>.
+If <code>--quiet</code> is specified, this will only affect the logs
+written to <code>--log_dir</code>, if specified. (default: INFO)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]initialize_driver_logging
+  </td>
+  <td>
+Whether the master/slave should initialize Google logging for the
+Mesos scheduler and executor drivers, in same way as described here.
+The scheduler/executor drivers have separate logs and do not get
+written to the master/slave logs.
+<p/>
+This option has no effect when using the HTTP scheduler/executor APIs.
+(default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --external_log_file=VALUE
+  </td>
+  <td>
+Location of the externally managed log file.  Mesos does not write to
+this file directly and merely exposes it in the WebUI and HTTP API.
+This is only useful when logging to stderr in combination with an
+external logging mechanism, like syslog or journald.
+<p/>
+This option is meaningless when specified along with <code>--quiet</code>.
+<p/>
+This option takes precedence over <code>--log_dir</code> in the WebUI.
+However, logs will still be written to the <code>--log_dir</code> if
+that option is specified.
+  </td>
+</tr>
 </table>
 
 ## Master Options
@@ -152,42 +314,39 @@ Also see the [common options for logging](logging.md#Internal).
       </th>
     </tr>
   </thead>
-  <tr>
-    <td>
-      --quorum=VALUE
-    </td>
-    <td>
-      The size of the quorum of replicas when using
-      <code>replicated_log</code>-based
-      registry. It is imperative to set this value to be a majority of
-      masters i.e., quorum > (number of masters)/2.
-      <p/>
-
-      <b>NOTE</b> Not required if master is run in standalone mode (non-HA).
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --work_dir=VALUE
-    </td>
-    <td>
-      Where to store the persistent information stored in the Registry.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --zk=VALUE
-    </td>
-    <td>
-      ZooKeeper URL (used for leader election amongst masters)
-      May be one of:
+<tr>
+  <td>
+    --quorum=VALUE
+  </td>
+  <td>
+The size of the quorum of replicas when using <code>replicated_log</code> based
+registry. It is imperative to set this value to be a majority of
+masters i.e., <code>quorum > (number of masters)/2</code>.
+<b>NOTE</b>: Not required if master is run in standalone mode (non-HA).
+  </td>
+</tr>
+<tr>
+  <td>
+    --work_dir=VALUE
+  </td>
+  <td>
+Directory path to store the persistent information stored in the
+Registry. (example: <code>/var/lib/mesos/master</code>)
+  </td>
+</tr>
+<tr>
+  <td>
+    --zk=VALUE
+  </td>
+  <td>
+ZooKeeper URL (used for leader election amongst masters)
+May be one of:
 <pre><code>zk://host1:port1,host2:port2,.../path
 zk://username:password@host1:port1,host2:port2,.../path
 file:///path/to/file (where file contains one of the above)</code></pre>
-      <p/>
-      <b>NOTE</b> Not required if master is run in standalone mode (non-HA).
-    </td>
-  </tr>
+<b>NOTE</b>: Not required if master is run in standalone mode (non-HA).
+  </td>
+</tr>
 </table>
 
 *Optional Flags*
@@ -203,20 +362,23 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       </th>
     </tr>
   </thead>
-  <tr>
-    <td>
-      --acls=VALUE
-    </td>
-    <td>
-      Specify the ACLs used for framework/operator authentication and
-      authorization. The value is a JSON-formatted string of ACLs. Remember you
-      can also use the <code>file:///path/to/file</code> or
-      <code>/path/to/file</code> argument value format to read the JSON from a
-      file.
-      <p/>
-      See the ACLs protobuf in authorizer.proto for the expected format.
-      <p/>
-      JSON file example:
+<tr>
+  <td>
+    --acls=VALUE
+  </td>
+  <td>
+The value could be a JSON-formatted string of ACLs
+or a file path containing the JSON-formatted ACLs used
+for authorization. Path could be of the form <code>file:///path/to/file</code>
+or <code>/path/to/file</code>.
+<p/>
+Note that if the flag <code>--authorizers</code> is provided with a value
+different than <code>local</code>, the ACLs contents will be
+ignored.
+<p/>
+See the ACLs protobuf in authorizer.proto for the expected format.
+<p/>
+Example:
 <pre><code>{
   "register_frameworks": [
     {
@@ -235,124 +397,116 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       "principals": { "values": ["a", "b"] },
       "framework_principals": { "values": ["c"] }
     }
+  ],
+  "set_quotas": [
+    {
+      "principals": { "values": ["a"] },
+      "roles": { "values": ["a", "b"] }
+    }
+  ],
+  "remove_quotas": [
+    {
+      "principals": { "values": ["a"] },
+      "quota_principals": { "values": ["a"] }
+    }
   ]
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --allocation_interval=VALUE
-    </td>
-    <td>
-      Amount of time to wait between performing
-      (batch) allocations (e.g., 500ms, 1sec, etc). (default: 1secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --allocator=VALUE
-    </td>
-    <td>
-      Allocator to use for resource allocation to frameworks.
-      Use the default <code>HierarchicalDRF</code> allocator, or load
-      an alternate allocator module using <code>--modules</code>.
-      (default: HierarchicalDRF)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]authenticate
-    </td>
-    <td>
-      If <code>authenticate</code> is <code>true</code> only authenticated
-      frameworks are allowed to register. If <code>false</code> unauthenticated
-      frameworks are also allowed to register. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]authenticate_slaves
-    </td>
-    <td>
-      If <code>true</code> only authenticated slaves are allowed to register.
-      <p/>
-      If <code>false</code> unauthenticated slaves are also allowed to register.
-      (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]authenticate_http
-    </td>
-    <td>
-      If <code>true</code> only authenticated requests for HTTP endpoints
-      supporting authentication are allowed.
-      <p/>
-      If <code>false</code> unauthenticated HTTP endpoint requests are also allowed.
-      (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --authenticators=VALUE
-    </td>
-    <td>
-      Authenticator implementation to use when authenticating frameworks
-      and/or slaves. Use the default <code>crammd5</code>, or
-      load an alternate authenticator module using <code>--modules</code>.
-      (default: crammd5)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --http_authenticators=VALUE
-    </td>
-    <td>
-      HTTP authenticator implementation to use when handling requests to
-      authenticated endpoints. Use the default <code>basic<code>, or
-      load an alternate HTTP authenticator module using <code>--modules</code>.
-      <p/>
-      Currently there is no support for multiple HTTP authenticators.
-      (default: basic)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --authorizers=VALUE
-    </td>
-    <td>
-      Authorizer implementation to use when authorizating actions that
-      required it. Use the default <code>local</code>, or load an alternate
-      authorizer module using <code>--modules</code>.
-      <br/>
-      Note that if the flag <code>--authorizers</code> is provided with a
-      value different than the default <code>local</code>, the ACLs passed
-      through the <code>--acls</code> flag will be ignored.
-      <br/>
-      Currently there's no support for multiple authorizers.
-      (default: local)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --cluster=VALUE
-    </td>
-    <td>
-      Human readable name for the cluster, displayed in the webui.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --credentials=VALUE
-    </td>
-    <td>
-      Either a path to a text file with a list of credentials,
-      each line containing <code>principal</code> and <code>secret</code>
-      separated by whitespace, or a path to a JSON-formatted file containing
-      credentials. Path should be of the form <code>file:///path/to/file</code>
-      or <code>/path/to/file</code>.
-      <p/>
-      JSON file Example:
+  </td>
+</tr>
+<tr>
+  <td>
+    --allocation_interval=VALUE
+  </td>
+  <td>
+Amount of time to wait between performing
+(batch) allocations (e.g., 500ms, 1sec, etc). (default: 1secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --allocator=VALUE
+  </td>
+  <td>
+Allocator to use for resource allocation to frameworks.
+Use the default <code>HierarchicalDRF</code> allocator, or
+load an alternate allocator module using <code>--modules</code>.
+(default: HierarchicalDRF)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]authenticate
+  </td>
+  <td>
+If <code>true</code>, only authenticated frameworks are allowed to register. If
+<code>false</code>, unauthenticated frameworks are also allowed to register. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]authenticate_http
+  </td>
+  <td>
+If <code>true</code> only authenticated requests for HTTP endpoints supporting
+authentication are allowed.
+If <code>false</code> unauthenticated HTTP endpoint requests are also allowed.
+(default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]authenticate_slaves
+  </td>
+  <td>
+If <code>true</code> only authenticated slaves are allowed to register.
+If <code>false</code> unauthenticated slaves are also allowed to register. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --authenticators=VALUE
+  </td>
+  <td>
+Authenticator implementation to use when authenticating frameworks
+and/or slaves. Use the default <code>crammd5</code>, or
+load an alternate authenticator module using <code>--modules</code>. (default: crammd5)
+  </td>
+</tr>
+<tr>
+  <td>
+    --authorizers=VALUE
+  </td>
+  <td>
+Authorizer implementation to use when authorizing actions that
+require it.
+Use the default <code>local</code>, or
+load an alternate authorizer module using <code>--modules</code>.
+<p/>
+Note that if the flag <code>--authorizers</code> is provided with a value
+different than the default <code>local</code>, the ACLs
+passed through the <code>--acls</code> flag will be ignored.
+<p/>
+Currently there's no support for multiple authorizers. (default: local)
+  </td>
+</tr>
+<tr>
+  <td>
+    --cluster=VALUE
+  </td>
+  <td>
+Human readable name for the cluster, displayed in the webui.
+  </td>
+</tr>
+<tr>
+  <td>
+    --credentials=VALUE
+  </td>
+  <td>
+Either a path to a text file with a list of credentials,
+each line containing <code>principal</code> and <code>secret</code> separated by whitespace,
+or, a path to a JSON-formatted file containing credentials.
+Path could be of the form <code>file:///path/to/file</code> or <code>/path/to/file</code>.
+JSON file Example:
 <pre><code>{
   "credentials": [
     {
@@ -361,169 +515,100 @@ file:///path/to/file (where file contains one of the above)</code></pre>
     }
   ]
 }</code></pre>
-
-      <p/>
-      Text file Example:
-<pre><code>    username secret </code></pre>
-
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --framework_sorter=VALUE
-    </td>
-    <td>
-      Policy to use for allocating resources between a given user's frameworks.
-      Options are the same as for user_allocator. (default: drf)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --hooks=VALUE
-    </td>
-    <td>
-      A comma-separated list of hook modules to be installed inside master.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --hostname=VALUE
-    </td>
-    <td>
-      The hostname the master should advertise in ZooKeeper.<br>
-      If left unset, the hostname is resolved from the IP address that the slave
-      binds to; unless the user explicitly prevents that, using
-      <code>--no-hostname_lookup</code>, in which case the IP itself is used.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]hostname_lookup
-    </td>
-    <td>
-      Whether we should execute a lookup to find out the server's hostname, if
-      not explicitly set (via, e.g., <code>--hostname</code>). If set to
-      <code>false</code> it will cause Mesos to use the IP address, unless the
-      hostname is explicitly set. (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]log_auto_initialize
-    </td>
-    <td>
-      Whether to automatically initialize the replicated log used for the
-      registry. If this is set to false, the log has to be manually initialized
-      when used for the very first time. (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --max_completed_frameworks=VALUE
-    </td>
-    <td>
-      Maximum number of completed frameworks to store in memory. (default: 50)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --max_completed_tasks_per_framework=VALUE
-    </td>
-    <td>
-      Maximum number of completed tasks per framework to store in memory.
-      (default: 1000)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --max_slave_ping_timeouts=VALUE
-    </td>
-    <td>
-      The number of times a slave can fail to respond to a ping from the master.
-      Slaves that incur more than <code>max_slave_ping_timeouts</code> timeouts
-      will be removed. (default: 5)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --modules=VALUE
-    </td>
-    <td>
-      List of modules to be loaded and be available to the internal subsystems.
-      <p/>
-      Use <code>--modules=filepath</code> to specify the list of modules via a
-      file containing a JSON-formatted string.
-      Remember you can also use the <code>file:///path/to/file</code> or
-      <code>/path/to/file</code> argument value format to write the JSON in a
-      file.<p/>
-      Use <code>--modules="{...}"</code> to specify the list of modules inline.
-      <p/>
-      JSON file example:
+Text file Example:
+<pre><code>username secret</code></pre>
+  </td>
+</tr>
+<tr>
+  <td>
+    --framework_sorter=VALUE
+  </td>
+  <td>
+Policy to use for allocating resources
+between a given user's frameworks. Options
+are the same as for user_allocator. (default: drf)
+  </td>
+</tr>
+<tr>
+  <td>
+    --http_authenticators=VALUE
+  </td>
+  <td>
+HTTP authenticator implementation to use when handling requests to
+authenticated endpoints. Use the default
+<code>basic</code>, or load an alternate HTTP
+authenticator module using <code>--modules</code>.
+<p/>
+Currently there is no support for multiple HTTP authenticators. (default: basic)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]log_auto_initialize
+  </td>
+  <td>
+Whether to automatically initialize the replicated log used for the
+registry. If this is set to false, the log has to be manually
+initialized when used for the very first time. (default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --max_completed_frameworks=VALUE
+  </td>
+  <td>
+Maximum number of completed frameworks to store in memory. (default: 50)
+  </td>
+</tr>
+<tr>
+  <td>
+    --max_completed_tasks_per_framework
+=VALUE
+  </td>
+  <td>
+Maximum number of completed tasks per framework to store in memory. (default: 1000)
+  </td>
+</tr>
+<tr>
+  <td>
+    --max_slave_ping_timeouts=VALUE
+  </td>
+  <td>
+The number of times a slave can fail to respond to a
+ping from the master. Slaves that do not respond within
+<code>max_slave_ping_timeouts</code> ping retries will be asked to shutdown.
+(default: 5)
+  </td>
+</tr>
+<tr>
+  <td>
+    --offer_timeout=VALUE
+  </td>
+  <td>
+Duration of time before an offer is rescinded from a framework.
+This helps fairness when running frameworks that hold on to offers,
+or frameworks that accidentally drop offers.
+  </td>
+</tr>
+<tr>
+  <td>
+    --rate_limits=VALUE
+  </td>
+  <td>
+The value could be a JSON-formatted string of rate limits
+or a file path containing the JSON-formatted rate limits used
+for framework rate limiting.
+Path could be of the form <code>file:///path/to/file</code>
+or <code>/path/to/file</code>.
+<p/>
+See the RateLimits protobuf in mesos.proto for the expected format.
+<p/>
+Example:
 <pre><code>{
-  "libraries": [
+  "limits": [
     {
-      "file": "/path/to/libfoo.so",
-      "modules": [
-        {
-          "name": "org_apache_mesos_bar",
-          "parameters": [
-            {
-              "key": "X",
-              "value": "Y"
-            }
-          ]
-        },
-        {
-          "name": "org_apache_mesos_baz"
-        }
-      ]
-    },
-    {
-      "name": "qux",
-      "modules": [
-        {
-          "name": "org_apache_mesos_norf"
-        }
-      ]
-    }
-  ]
-}</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --offer_timeout=VALUE
-    </td>
-    <td>
-      Duration of time before an offer is rescinded from a framework.
-      <p/>
-      This helps fairness when running frameworks that hold on to offers,
-      or frameworks that accidentally drop offers.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --rate_limits=VALUE
-    </td>
-    <td>
-      The value could be a JSON-formatted string of rate limits
-      or a file path containing the JSON-formatted rate limits used
-      for framework rate limiting.
-      <p/>
-      Remember you can also use the <code>file:///path/to/file</code> or
-      <code>/path/to/file</code> argument value format to read the JSON from a
-      file.
-      <p/>
-
-      See the RateLimits protobuf in mesos.proto for the expected format.
-      <p/>
-
-      Example:
-<pre><code>{
-  "limits": [
-    {
-      "principal": "foo",
-      "qps": 55.5
+      "principal": "foo",
+      "qps": 55.5
     },
     {
       "principal": "bar"
@@ -531,183 +616,171 @@ file:///path/to/file (where file contains one of the above)</code></pre>
   ],
   "aggregate_default_qps": 33.3
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --recovery_slave_removal_limit=VALUE
-    </td>
-    <td>
-      For failovers, limit on the percentage of slaves that can be removed
-      from the registry *and* shutdown after the re-registration timeout
-      elapses. If the limit is exceeded, the master will fail over rather
-      than remove the slaves.
-      <p/>
-      This can be used to provide safety guarantees for production
-      environments. Production environments may expect that across Master
-      failovers, at most a certain percentage of slaves will fail
-      permanently (e.g., due to rack-level failures).
-      <p/>
-      Setting this limit would ensure that a human needs to get
-      involved should an unexpected widespread failure of slaves occur
-      in the cluster.
-      <p/>
-      Values: [0%-100%] (default: 100%)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --registry=VALUE
-    </td>
-    <td>
-      Persistence strategy for the registry.
-      <p/>
-      Available options are <code>replicated_log</code>, <code>in_memory</code>
-      (for testing). (default: replicated_log)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --registry_fetch_timeout=VALUE
-    </td>
-    <td>
-      Duration of time to wait in order to fetch data from the registry after
-      which the operation is considered a failure. (default: 1mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --registry_store_timeout=VALUE
-    </td>
-    <td>
-      Duration of time to wait in order to store data in the registry after
-      which the operation is considered a failure. (default: 5secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]registry_strict
-    </td>
-    <td>
-      Whether the Master will take actions based on the persistent
-      information stored in the Registry. Setting this to false means
-      that the Registrar will never reject the admission, readmission,
-      or removal of a slave. Consequently, <code>false</code> can be used to
-      bootstrap the persistent state on a running cluster.
-      <p/>
-      NOTE: This flag is *experimental* and should not be used in
-      production yet. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --roles=VALUE
-    </td>
-    <td>
-      A comma-separated list of the allocation roles that frameworks
-      in this cluster may belong to. This flag is deprecated;
-      if it is not specified, any role name can be used.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]root_submissions
-    </td>
-    <td>
-      Can root submit frameworks? (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --slave_ping_timeout=VALUE
-    </td>
-    <td>
-      The timeout within which each slave is expected to respond to a
-      ping from the master. Slaves that do not respond within
-      <code>max_slave_ping_timeouts</code> ping retries will be removed.
-      (default: 15secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --slave_removal_rate_limit=VALUE
-    </td>
-    <td>
-      The maximum rate (e.g., <code>1/10mins</code>, <code>2/3hrs</code>, etc)
-      at which slaves will be removed from the master when they fail health
-      checks. By default slaves will be removed as soon as they fail the health
-      checks.
-      <p/>
-      The value is of the form
-      <code>Number of slaves</code>/<code>Duration</code>.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --slave_reregister_timeout=VALUE
-    </td>
-    <td>
-      The timeout within which all slaves are expected to re-register
-      when a new master is elected as the leader. Slaves that do not
-      re-register within the timeout will be removed from the registry
-      and will be shutdown if they attempt to communicate with master.
-      <p/>
-      NOTE: This value has to be at least 10mins. (default: 10mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --user_sorter=VALUE
-    </td>
-    <td>
-      Policy to use for allocating resources between users. May be one of:
-      <p/>
-      dominant_resource_fairness (drf) (default: drf)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --webui_dir=VALUE
-    </td>
-    <td>
-      Directory path of the webui files/assets.
-      (default: /usr/local/share/mesos/webui)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --weights=VALUE
-    </td>
-    <td>
-      A comma-separated list of role/weight pairs of the form
-      <code>role=weight,role=weight</code>. Weights are used
-      to indicate forms of priority.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --whitelist=VALUE
-    </td>
-    <td>
-      A filename which contains a list of slaves (one per line) to advertise
-      offers for. The file is watched, and periodically re-read to refresh
-      the slave whitelist. By default there is no whitelist / all machines are
-      accepted. (default: None)
-     <p/>
-
-      Example:
-      <pre><code>file:///etc/mesos/slave_whitelist</code></pre>
-      <p/>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --zk_session_timeout=VALUE
-    </td>
-    <td>
-      ZooKeeper session timeout. (default: 10secs)
-    </td>
-  </tr>
+  </td>
+</tr>
+<tr>
+  <td>
+    --recovery_slave_removal_limit=VALUE
+  </td>
+  <td>
+For failovers, limit on the percentage of slaves that can be removed
+from the registry *and* shutdown after the re-registration timeout
+elapses. If the limit is exceeded, the master will fail over rather
+than remove the slaves.
+This can be used to provide safety guarantees for production
+environments. Production environments may expect that across master
+failovers, at most a certain percentage of slaves will fail
+permanently (e.g. due to rack-level failures).
+Setting this limit would ensure that a human needs to get
+involved should an unexpected widespread failure of slaves occur
+in the cluster.
+Values: [0%-100%] (default: 100%)
+  </td>
+</tr>
+<tr>
+  <td>
+    --registry=VALUE
+  </td>
+  <td>
+Persistence strategy for the registry; available options are
+<code>replicated_log</code>, <code>in_memory</code> (for testing). (default: replicated_log)
+  </td>
+</tr>
+<tr>
+  <td>
+    --registry_fetch_timeout=VALUE
+  </td>
+  <td>
+Duration of time to wait in order to fetch data from the registry
+after which the operation is considered a failure. (default: 1mins)
+  </td>
+</tr>
+<tr>
+  <td>
+    --registry_store_timeout=VALUE
+  </td>
+  <td>
+Duration of time to wait in order to store data in the registry
+after which the operation is considered a failure. (default: 5secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]registry_strict
+  </td>
+  <td>
+Whether the master will take actions based on the persistent
+information stored in the Registry. Setting this to false means
+that the Registrar will never reject the admission, readmission,
+or removal of a slave. Consequently, <code>false</code> can be used to
+bootstrap the persistent state on a running cluster.
+<b>NOTE</b>: This flag is *experimental* and should not be used in
+production yet. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --roles=VALUE
+  </td>
+  <td>
+A comma-separated list of the allocation roles that frameworks
+in this cluster may belong to. This flag is deprecated;
+if it is not specified, any role name can be used.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]root_submissions
+  </td>
+  <td>
+Can root submit frameworks? (default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --slave_ping_timeout=VALUE
+  </td>
+  <td>
+The timeout within which each slave is expected to respond to a
+ping from the master. Slaves that do not respond within
+max_slave_ping_timeouts ping retries will be asked to shutdown.
+<b>NOTE</b>: The total ping timeout (<code>slave_ping_timeout</code> multiplied by
+<code>max_slave_ping_timeouts</code>) should be greater than the ZooKeeper
+session timeout to prevent useless re-registration attempts.
+(default: 15secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --slave_removal_rate_limit=VALUE
+  </td>
+  <td>
+The maximum rate (e.g., <code>1/10mins</code>, <code>2/3hrs</code>, etc) at which slaves
+will be removed from the master when they fail health checks.
+By default, slaves will be removed as soon as they fail the health
+checks. The value is of the form <code>(Number of slaves)/(Duration)</code>.
+  </td>
+</tr>
+<tr>
+  <td>
+    --slave_reregister_timeout=VALUE
+  </td>
+  <td>
+The timeout within which all slaves are expected to re-register
+when a new master is elected as the leader. Slaves that do not
+re-register within the timeout will be removed from the registry
+and will be shutdown if they attempt to communicate with master.
+<b>NOTE</b>: This value has to be at least 10mins. (default: 10mins)
+  </td>
+</tr>
+<tr>
+  <td>
+    --user_sorter=VALUE
+  </td>
+  <td>
+Policy to use for allocating resources
+between users. May be one of:
+  dominant_resource_fairness (drf) (default: drf)
+  </td>
+</tr>
+<tr>
+  <td>
+    --webui_dir=VALUE
+  </td>
+  <td>
+Directory path of the webui files/assets (default: /usr/local/share/mesos/webui)
+  </td>
+</tr>
+<tr>
+  <td>
+    --weights=VALUE
+  </td>
+  <td>
+A comma-separated list of role/weight pairs
+of the form <code>role=weight,role=weight</code>. Weights
+are used to indicate forms of priority.
+  </td>
+</tr>
+<tr>
+  <td>
+    --whitelist=VALUE
+  </td>
+  <td>
+Path to a file which contains a list of slaves (one per line) to
+advertise offers for. The file is watched, and periodically re-read to
+refresh the slave whitelist. By default there is no whitelist / all
+machines are accepted. Path could be of the form
+<code>file:///path/to/file</code> or <code>/path/to/file</code>.
+  </td>
+</tr>
+<tr>
+  <td>
+    --zk_session_timeout=VALUE
+  </td>
+  <td>
+ZooKeeper session timeout. (default: 10secs)
+  </td>
+</tr>
 </table>
 
 *Flags available when configured with `--with-network-isolator`*
@@ -723,21 +796,17 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       </th>
     </tr>
   </thead>
-  <tr>
-  <tr>
-    <td>
-      --max_executors_per_slave=VALUE
-    </td>
-    <td>
-      Maximum number of executors allowed per slave. The network
-      monitoring/isolation technique imposes an implicit resource
-      acquisition on each executor (# ephemeral ports), as a result
-      one can only run a certain number of executors on each slave.
-      <p/>
-      This flag was added as a hack to avoid frameworks getting offers
-      when we have allocated all of the ephemeral port range on the slave.
-    </td>
-  </tr>
+<tr>
+  <td>
+    --max_executors_per_slave=VALUE
+  </td>
+  <td>
+Maximum number of executors allowed per slave. The network
+monitoring/isolation technique imposes an implicit resource
+acquisition on each executor (# ephemeral ports), as a result
+one can only run a certain number of executors on each slave.
+  </td>
+</tr>
 </table>
 
 ## Slave Options
@@ -755,32 +824,18 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       </th>
     </tr>
   </thead>
-  <tr>
-    <td>
-      --master=VALUE
-    </td>
-    <td>
-      This specifies how to connect to a master or a quorum of masters. This flag works with 3 different techniques. It may be one of:
-      <ol>
-        <li> hostname or ip to a master, e.g.,
-<pre><code>--master=localhost:5050
---master=10.0.0.5:5050
-</code></pre>
-        </li>
-
-        <li> zookeeper or quorum hostname/ip + port + master registration path </li>
-<pre><code>--master=zk://host1:port1,host2:port2,.../path
---master=zk://username:password@host1:port1,host2:port2,.../path
-</code></pre>
-        </li>
-
-        <li> a path to a file containing either one of the above options. You
-        can also use the <code>file:///path/to/file</code> syntax to read the
-        argument from a file which contains one of the above.
-        </li>
-      </ol>
-    </td>
-  </tr>
+<tr>
+  <td>
+    --master=VALUE
+  </td>
+  <td>
+May be one of:
+  <code>host:port</code>
+  <code>zk://host1:port1,host2:port2,.../path</code>
+  <code>zk://username:password@host1:port1,host2:port2,.../path</code>
+  <code>file:///path/to/file</code> (where file contains one of the above)
+  </td>
+</tr>
 </table>
 
 *Optional Flags*
@@ -796,161 +851,156 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       </th>
     </tr>
   </thead>
-  <tr>
-    <td>
-      --attributes=VALUE
-    </td>
-    <td>
-      Attributes of machine, in the form:
-      <p/>
-      <code>rack:2</code> or <code>'rack:2;u:1'</code>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --authenticatee=VALUE
-    </td>
-    <td>
-      Authenticatee implementation to use when authenticating against the
-      master. Use the default <code>crammd5</code>, or
-      load an alternate authenticatee module using <code>--modules</code>.
-      (default: crammd5)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]cgroups_cpu_enable_pids_and_tids_count
-    </td>
-    <td>
-      Cgroups feature flag to enable counting of processes and threads
-      inside a container. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]cgroups_enable_cfs
-    </td>
-    <td>
-      Cgroups feature flag to enable hard limits on CPU resources
-      via the CFS bandwidth limiting subfeature.
-      (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --cgroups_hierarchy=VALUE
-    </td>
-    <td>
-      The path to the cgroups hierarchy root.
-      (default: /sys/fs/cgroup)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]cgroups_limit_swap
-    </td>
-    <td>
-      Cgroups feature flag to enable memory limits on both memory and
-      swap instead of just memory.
-      (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --cgroups_root=VALUE
-    </td>
-    <td>
-      Name of the root cgroup.
-      (default: mesos)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --systemd_runtime_directory=VALUE
-    </td>
-    <td>
-      The path to the systemd system run time directory.
-      (default: /run/systemd/system)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --container_disk_watch_interval=VALUE
-    </td>
-    <td>
-      The interval between disk quota checks for containers. This flag is
-      used for the <code>posix/disk</code> isolator. (default: 15secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --containerizer_path=VALUE
-    </td>
-    <td>
-      The path to the external containerizer executable used when
-      external isolation is activated (<code>--isolation=external</code>).
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --containerizers=VALUE
-    </td>
-    <td>
-      Comma-separated list of containerizer implementations
-      to compose in order to provide containerization.
-      <p/>
-      Available options are 'mesos', 'external', and
-      'docker' (on Linux). The order the containerizers
-      are specified is the order they are tried
-      (<code>--containerizers=mesos</code>).
-      (default: mesos)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --credential=VALUE
-    </td>
-    <td>
-      A path to a text file with a single line
-      containing 'principal' and 'secret' separated by whitespace.
-
-      <p/>
-      Or a path containing the JSON-formatted information used for one credential.
-      <p/>
-      Path should be of the form <code>file://path/to/file</code>.
-      <p/>
-      Remember you can also use
-      the <code>file:///path/to/file</code> argument value format to read the
-      value from a file.
-      </p>
-      JSON file example:
+<tr>
+  <td>
+    --appc_store_dir=VALUE
+  </td>
+  <td>
+Directory the appc provisioner will store images in.
+(default: /tmp/mesos/store/appc)
+  </td>
+</tr>
+<tr>
+  <td>
+    --attributes=VALUE
+  </td>
+  <td>
+Attributes of the slave machine, in the form:
+<code>rack:2</code> or <code>rack:2;u:1</code>
+  </td>
+</tr>
+<tr>
+  <td>
+    --authenticatee=VALUE
+  </td>
+  <td>
+Authenticatee implementation to use when authenticating against the
+master. Use the default <code>crammd5</code>, or
+load an alternate authenticatee module using <code>--modules</code>. (default: crammd5)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no]-cgroups_cpu_enable_pids_and_tids_count
+  </td>
+  <td>
+Cgroups feature flag to enable counting of processes and threads
+inside a container. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no]-cgroups_enable_cfs
+  </td>
+  <td>
+Cgroups feature flag to enable hard limits on CPU resources
+via the CFS bandwidth limiting subfeature. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --cgroups_hierarchy=VALUE
+  </td>
+  <td>
+The path to the cgroups hierarchy root. (default: /sys/fs/cgroup)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no]-cgroups_limit_swap
+  </td>
+  <td>
+Cgroups feature flag to enable memory limits on both memory and
+swap instead of just memory. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --cgroups_root=VALUE
+  </td>
+  <td>
+Name of the root cgroup. (default: mesos)
+  </td>
+</tr>
+<tr>
+  <td>
+    --container_disk_watch_interval=VALUE
+  </td>
+  <td>
+The interval between disk quota checks for containers. This flag is
+used for the <code>posix/disk</code> isolator. (default: 15secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --container_logger=VALUE
+  </td>
+  <td>
+The name of the container logger to use for logging container
+(i.e., executor and task) stdout and stderr. The default
+container logger writes to <code>stdout</code> and <code>stderr</code> files
+in the sandbox directory.
+  </td>
+</tr>
+<tr>
+  <td>
+    --containerizer_path=VALUE
+  </td>
+  <td>
+The path to the external containerizer executable used when
+external isolation is activated (<code>--isolation=external</code>).
+  </td>
+</tr>
+<tr>
+  <td>
+    --containerizers=VALUE
+  </td>
+  <td>
+Comma-separated list of containerizer implementations
+to compose in order to provide containerization.
+Available options are <code>mesos</code>, <code>external</code>, and
+<code>docker</code> (on Linux). The order the containerizers
+are specified is the order they are tried.
+(default: mesos)
+  </td>
+</tr>
+<tr>
+  <td>
+    --credential=VALUE
+  </td>
+  <td>
+Either a path to a text with a single line
+containing <code>principal</code> and <code>secret</code> separated by whitespace.
+Or a path containing the JSON-formatted information used for one credential.
+Path could be of the form <code>file:///path/to/file</code> or <code>/path/to/file</code>.
+Example:
 <pre><code>{
   "principal": "username",
   "secret": "secret"
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --default_container_image=VALUE
-    </td>
-    <td>
-      The default container image to use if not specified by a task,
-      when using external containerizer.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --default_container_info=VALUE
-    </td>
-    <td>
-      JSON-formatted ContainerInfo that will be included into
-      any ExecutorInfo that does not specify a ContainerInfo.
-      <p/>
-      See the ContainerInfo protobuf in mesos.proto for
-      the expected format.
-      <p/>
-      Example:
+  </td>
+</tr>
+<tr>
+  <td>
+    --default_container_image=VALUE
+  </td>
+  <td>
+The default container image to use if not specified by a task,
+when using external containerizer.
+  </td>
+</tr>
+<tr>
+  <td>
+    --default_container_info=VALUE
+  </td>
+  <td>
+JSON-formatted ContainerInfo that will be included into
+any ExecutorInfo that does not specify a ContainerInfo.
+<p/>
+See the ContainerInfo protobuf in mesos.proto for
+the expected format.
+<p/>
+Example:
 <pre><code>{
   "type": "MESOS",
   "volumes": [
@@ -961,505 +1011,414 @@ file:///path/to/file (where file contains one of the above)</code></pre>
     }
   ]
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --default_role=VALUE
-    </td>
-    <td>
-      Any resources in the --resources flag that
-      omit a role, as well as any resources that
-      are not present in --resources but that are
-      automatically detected, will be assigned to
-      this role. (default: *)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --disk_watch_interval=VALUE
-    </td>
-    <td>
-      Periodic time interval (e.g., 10secs, 2mins, etc)
-      to check the disk usage. (default: 1mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker=VALUE
-    </td>
-    <td>
-      The absolute path to the docker executable for docker
-      containerizer.
-      (default: docker)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_auth_server=VALUE
-    </td>
-    <td>
-      Docker authentication server used to authenticate with Docker registry.
-      (default: https://auth.docker.io)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_local_archives_dir=VALUE
-    </td>
-    <td>
-      Directory for docker local puller to look in for image archives.
-      (default: /tmp/mesos/images/docker)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_puller=VALUE
-    </td>
-    <td>
-      Strategy for docker puller to fetch images.
-      (default: local)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_puller_timeout_secs=VALUE
-    </td>
-    <td>
-      Timeout in seconds for pulling images from the Docker registry.
-      (default: 60)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_registry=VALUE
-    </td>
-    <td>
-      The default url for pulling Docker images. It could either be a Docker
-      registry server url (i.e: https://registry.docker.io), or a local path
-      (i.e: file:///tmp/docker/images) in which Docker image archives
-      (result of 'docker save') are stored.
-      (default: https://registry-1.docker.io)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_store_dir=VALUE
-    </td>
-    <td>
-      Directory the Docker provisioner will store images in.
-      (default: /tmp/mesos/store/docker)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_remove_delay=VALUE
-    </td>
-    <td>
-      The amount of time to wait before removing Docker containers
-      (e.g., <code>3days</code>, <code>2weeks</code>, etc).
-      (default: 6hrs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]docker_kill_orphans
-    </td>
-    <td>
-      Enable docker containerizer to kill orphaned containers.
-      You should consider setting this to false when you launch multiple
-      slaves in the same OS, to avoid one of the DockerContainerizer removing
-      docker tasks launched by other slaves.
-      (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_socket=VALUE
-    </td>
-    <td>
-      The UNIX socket path to be mounted into the docker executor container to
-      provide docker CLI access to the docker daemon. This must be the path used
-      by the slave's docker image.
-      (default: /var/run/docker.sock)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_mesos_image=VALUE
-    </td>
-    <td>
-      The docker image used to launch this mesos slave instance.
-      If an image is specified, the docker containerizer assumes the slave
-      is running in a docker container, and launches executors with
-      docker containers in order to recover them when the slave restarts and
-      recovers.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --docker_stop_timeout=VALUE
-    </td>
-    <td>
-      The time as a duration for docker to wait after stopping an instance
-      before it kills that instance. (default: 0secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --sandbox_directory=VALUE
-    </td>
-    <td>
-      The absolute path for the directory in the container where the
-      sandbox is mapped to.
-      (default: /mnt/mesos/sandbox)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]enforce_container_disk_quota
-    </td>
-    <td>
-      Whether to enable disk quota enforcement for containers. This flag
-      is used for the 'posix/disk' isolator. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --executor_environment_variables
-    </td>
-    <td>
-      JSON object representing the environment variables that should be
-      passed to the executor, and thus subsequently task(s).
-      By default the executor will inherit the slave's environment variables.
-      Example:
+  </td>
+</tr>
+<tr>
+  <td>
+    --default_role=VALUE
+  </td>
+  <td>
+Any resources in the <code>--resources</code> flag that
+omit a role, as well as any resources that
+are not present in <code>--resources</code> but that are
+automatically detected, will be assigned to
+this role. (default: *)
+  </td>
+</tr>
+<tr>
+  <td>
+    --disk_watch_interval=VALUE
+  </td>
+  <td>
+Periodic time interval (e.g., 10secs, 2mins, etc)
+to check the overall disk usage managed by the slave.
+This drives the garbage collection of archived
+information and sandboxes. (default: 1mins)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker=VALUE
+  </td>
+  <td>
+The absolute path to the docker executable for docker
+containerizer.
+(default: docker)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_auth_server=VALUE
+  </td>
+  <td>
+Docker authentication server used to authenticate with Docker registry
+(default: https://auth.docker.io)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]docker_kill_orphans
+  </td>
+  <td>
+Enable docker containerizer to kill orphaned containers.
+You should consider setting this to false when you launch multiple
+slaves in the same OS, to avoid one of the DockerContainerizer
+removing docker tasks launched by other slaves.
+(default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_mesos_image=VALUE
+  </td>
+  <td>
+The docker image used to launch this mesos slave instance.
+If an image is specified, the docker containerizer assumes the slave
+is running in a docker container, and launches executors with
+docker containers in order to recover them when the slave restarts and
+recovers.
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_puller_timeout=VALUE
+  </td>
+  <td>
+Timeout in seconds for pulling images from the Docker registry (default: 60secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_registry=VALUE
+  </td>
+  <td>
+The default url for pulling Docker images. It could either be a Docker
+registry server url (i.e: <code>https://registry.docker.io</code>), or a local
+path (i.e: <code>file:///tmp/docker/images</code>) in which Docker image archives
+(result of <code>docker save</code>) are stored. (default: https://registry-1.docker.io)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_remove_delay=VALUE
+  </td>
+  <td>
+The amount of time to wait before removing docker containers
+(e.g., <code>3days</code>, <code>2weeks</code>, etc).
+(default: 6hrs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_socket=VALUE
+  </td>
+  <td>
+The UNIX socket path to be mounted into the docker executor container
+to provide docker CLI access to the docker daemon. This must be the
+path used by the slave's docker image.
+(default: /var/run/docker.sock)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_stop_timeout=VALUE
+  </td>
+  <td>
+The time as a duration for docker to wait after stopping an instance
+before it kills that instance. (default: 0ns)
+  </td>
+</tr>
+<tr>
+  <td>
+    --docker_store_dir=VALUE
+  </td>
+  <td>
+Directory the Docker provisioner will store images in (default: /tmp/mesos/store/docker)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]enforce_container_disk_quota
+  </td>
+  <td>
+Whether to enable disk quota enforcement for containers. This flag
+is used for the <code>posix/disk</code> isolator. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --executor_environment_variables=VALUE
+  </td>
+  <td>
+JSON object representing the environment variables that should be
+passed to the executor, and thus subsequently task(s). By default the
+executor will inherit the slave's environment variables.
+Example:
 <pre><code>{
   "PATH": "/bin:/usr/bin",
   "LD_LIBRARY_PATH": "/usr/local/lib"
 }</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --executor_registration_timeout=VALUE
-    </td>
-    <td>
-      Amount of time to wait for an executor
-      to register with the slave before considering it hung and
-      shutting it down (e.g., <code>60secs</code>, <code>3mins</code>, etc)
-      (default: 1mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --executor_shutdown_grace_period=VALUE
-    </td>
-    <td>
-      Amount of time to wait for an executor to shut down.
-      (e.g., <code>60secs</code>, <code>3mins</code>, etc). (default: 5secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --frameworks_home=VALUE
-    </td>
-    <td>
-      Directory path prepended to relative executor URIs. (empty by default)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --gc_delay=VALUE
-    </td>
-    <td>
-      Maximum amount of time to wait before cleaning up
-      executor directories (e.g., 3days, 2weeks, etc).
-      <p/>
-      Note that this delay may be shorter depending on
-      the available disk usage. (default: 1weeks)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a name="gc_disk_headroom"></a>
-      --gc_disk_headroom=VALUE
-    </td>
-    <td>
-      Adjust disk headroom used to calculate maximum executor
-      directory age. Age is calculated by:</p>
-      <code>gc_delay * max(0.0, (1.0 - gc_disk_headroom - disk usage))</code>
-      every <code>--disk_watch_interval</code> duration.
-      <code>gc_disk_headroom</code> must be a value between 0.0 and 1.0
-      (default: 0.1)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --hadoop_home=VALUE
-    </td>
-    <td>
-      Path to find Hadoop installed (for fetching framework executors from HDFS)
-      (no default, look for <code>HADOOP_HOME</code> in environment or find
-      hadoop on <code>PATH</code>).
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --hooks=VALUE
-    </td>
-    <td>
-      A comma-separated list of hook modules to be
-      installed inside master.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --hostname=VALUE
-    </td>
-    <td>
-      The hostname the agent node should report.<br>
-      If left unset, the hostname is resolved from the IP address
-      that the slave binds to; unless the user explicitly prevents
-      that, using --no-hostname_lookup, in which case the IP itself
-      is used.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]hostname_lookup
-    </td>
-    <td>
-      Whether we should execute a lookup to find out the server's hostname,
-      if not explicitly set (via, e.g., `--hostname`).
-      True by default; if set to 'false' it will cause Mesos
-      to use the IP address, unless the hostname is explicitly set.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --isolation=VALUE
-    </td>
-    <td>
-      Isolation mechanisms to use, e.g., 'posix/cpu,posix/mem', or
-      'cgroups/cpu,cgroups/mem', or network/port_mapping
-      (configure with flag: --with-network-isolator to enable),
-      or 'external', or load an alternate isolator module using
-      the <code>--modules</code> flag. Note that this flag is only
-      relevant for the Mesos Containerizer.
-      (default: posix/cpu,posix/mem)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --launcher=VALUE
-    </td>
-    <td>
-      The launcher to be used for Mesos containerizer. It could either be
-      'linux' or 'posix'. The Linux launcher is required for cgroups
-      isolation and for any isolators that require Linux namespaces such as
-      network, pid, etc. If unspecified, the slave will choose the Linux
-      launcher if it's running as root on Linux.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --launcher_dir=VALUE
-    </td>
-    <td>
-      Directory path of Mesos binaries. Mesos would find health-check, fetcher,
-      containerizer and executor binary files under this directory.
-      (default: /usr/local/libexec/mesos)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --image_providers=VALUE
-    </td>
-    <td>
-      Comma-separated list of supported image providers, e.g., 'APPC,DOCKER'.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --modules=VALUE
-    </td>
-    <td>
-      List of modules to be loaded and be available to the internal
-      subsystems.
-      <p/>
-      Remember you can also use the <code>file:///path/to/file</code> or
-      <code>/path/to/file</code> argument value format to have the value read
-      from a file.<p/>
-      Use <code>--modules="{...}"</code> to specify the list of modules inline.
-      <p/>
-      JSON file example:
-<pre><code>
-{
-  "libraries": [
-    {
-      "file": "/path/to/libfoo.so",
-      "modules": [
-        {
-          "name": "org_apache_mesos_bar",
-          "parameters": [
-            {
-              "key": "X",
-              "value": "Y"
-            }
-          ]
-        },
-        {
-          "name": "org_apache_mesos_baz"
-        }
-      ]
-    },
-    {
-      "name": "qux",
-      "modules": [
-        {
-          "name": "org_apache_mesos_norf"
-        }
-      ]
-    }
-  ]
-}</code></pre>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --oversubscribed_resources_interval=VALUE
-    </td>
-    <td>
-      The slave periodically updates the master with the current estimation
-      about the total amount of oversubscribed resources that are allocated
-      and available. The interval between updates is controlled by this flag.
-      (default: 15secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --perf_duration=VALUE
-    </td>
-    <td>
-      Duration of a perf stat sample. The duration must be less
-      that the <code>perf_interval</code>. (default: 10secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --perf_events=VALUE
-    </td>
-    <td>
-      List of command-separated perf events to sample for each container
-      when using the perf_event isolator. (none by default)
-      <p/>
-      Run command 'perf list' to see all events. Event names are
-      sanitized by downcasing and replacing hyphens with underscores
-      when reported in the PerfStatistics protobuf, e.g., cpu-cycles
-      becomes cpu_cycles; see the PerfStatistics protobuf for all names.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --perf_interval=VALUE
-    </td>
-    <td>
-      Interval between the start of perf stat samples. Perf samples are
-      obtained periodically according to <code>perf_interval</code> and the most
-      recently obtained sample is returned rather than sampling on
-      demand. For this reason, <code>perf_interval</code> is independent of the
-      resource monitoring interval. (default: 1mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --qos_controller=VALUE
-    </td>
-    <td>
-      The name of the QoS Controller to use for oversubscription.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --qos_correction_interval_min=VALUE
-    </td>
-    <td>
-      The slave polls and carries out QoS corrections from the QoS
-      Controller based on its observed performance of running tasks.
-      The smallest interval between these corrections is controlled by
-      this flag. (default: 0secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --recover=VALUE
-    </td>
-    <td>
-      Whether to recover status updates and reconnect with old executors.
-      <p/>
-      Valid values for 'recover' are
-      <p/>
-      reconnect: Reconnect with any old live executors.
-      <p/>
-      cleanup  : Kill any old live executors and exit.
-      <p/>
-      Use this option when doing an incompatible slave or executor upgrade.
-      (default: reconnect)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --recovery_timeout=VALUE
-    </td>
-    <td>
-      Amount of time allotted for the slave to recover. If the slave takes
-      longer than recovery_timeout to recover, any executors that are
-      waiting to reconnect to the slave will self-terminate.
-      (default: 15mins)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --registration_backoff_factor=VALUE
-    </td>
-    <td>
-      Slave initially picks a random amount of time between [0, b], where
-      b = registration_backoff_factor, to (re-)register with a new master.
-      <p/>
-      Subsequent retries are exponentially backed off based on this
-      interval (e.g., 1st retry uses a random value between [0, b * 2^1],
-      2nd retry between [0, b * 2^2], 3rd retry between [0, b * 2^3] etc)
-      up to a maximum of <code>1mins</code>. (default: 1secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --resource_estimator=VALUE
-    </td>
-    <td>
-      The name of the resource estimator to use for oversubscription.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --resources=VALUE
-    </td>
-    <td>
-      <p>
-      Total consumable resources per slave. Can be provided in JSON format or as
-      a semicolon-delimited list of key:value pairs, with the role optionally
-      specified.
-      </p><p>
-      As a key:value list:
-      </p><p>
-      <code>name(role):value;name:value...</code>
-      </p><p>
-      To use JSON, pass a JSON-formatted string or use --resources=filepath to
-      specify the resources via a file containing a JSON-formatted string.
-      'filepath' can be of the form 'file:///path/to/file' or '/path/to/file'.
-      </p><p>
-      Example JSON:
-</p><pre><code>[
+  </td>
+</tr>
+<tr>
+  <td>
+    --executor_registration_timeout=VALUE
+  </td>
+  <td>
+Amount of time to wait for an executor
+to register with the slave before considering it hung and
+shutting it down (e.g., 60secs, 3mins, etc) (default: 1mins)
+  </td>
+</tr>
+<tr>
+  <td>
+    --executor_shutdown_grace_period=VALUE
+  </td>
+  <td>
+Amount of time to wait for an executor
+to shut down (e.g., 60secs, 3mins, etc) (default: 5secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --fetcher_cache_dir=VALUE
+  </td>
+  <td>
+Parent directory for fetcher cache directories
+(one subdirectory per slave). (default: /tmp/mesos/fetch)
+  </td>
+</tr>
+<tr>
+  <td>
+    --fetcher_cache_size=VALUE
+  </td>
+  <td>
+Size of the fetcher cache in Bytes. (default: 2GB)
+  </td>
+</tr>
+<tr>
+  <td>
+    --frameworks_home=VALUE
+  </td>
+  <td>
+Directory path prepended to relative executor URIs (default: )
+  </td>
+</tr>
+<tr>
+  <td>
+    --gc_delay=VALUE
+  </td>
+  <td>
+Maximum amount of time to wait before cleaning up
+executor directories (e.g., 3days, 2weeks, etc).
+Note that this delay may be shorter depending on
+the available disk usage. (default: 1weeks)
+  </td>
+</tr>
+<tr>
+  <td>
+    --gc_disk_headroom=VALUE
+  </td>
+  <td>
+Adjust disk headroom used to calculate maximum executor
+directory age. Age is calculated by:
+<code>gc_delay * max(0.0, (1.0 - gc_disk_headroom - disk usage))</code>
+every <code>--disk_watch_interval</code> duration. <code>gc_disk_headroom</code> must
+be a value between 0.0 and 1.0 (default: 0.1)
+  </td>
+</tr>
+<tr>
+  <td>
+    --hadoop_home=VALUE
+  </td>
+  <td>
+Path to find Hadoop installed (for
+fetching framework executors from HDFS)
+(no default, look for <code>HADOOP_HOME</code> in
+environment or find hadoop on <code>PATH</code>) (default: )
+  </td>
+</tr>
+<tr>
+  <td>
+    --image_providers=VALUE
+  </td>
+  <td>
+Comma-separated list of supported image providers,
+e.g., <code>APPC,DOCKER</code>.
+  </td>
+</tr>
+<tr>
+  <td>
+    --image_provisioner_backend=VALUE
+  </td>
+  <td>
+Strategy for provisioning container rootfs from images,
+e.g., <code>bind</code>, <code>copy</code>. (default: copy)
+  </td>
+</tr>
+<tr>
+  <td>
+    --isolation=VALUE
+  </td>
+  <td>
+Isolation mechanisms to use, e.g., <code>posix/cpu,posix/mem</code>, or
+<code>cgroups/cpu,cgroups/mem</code>, or network/port_mapping
+(configure with flag: <code>--with-network-isolator</code> to enable),
+or <code>external</code>, or load an alternate isolator module using
+the <code>--modules</code> flag. Note that this flag is only relevant
+for the Mesos Containerizer. (default: posix/cpu,posix/mem)
+  </td>
+</tr>
+<tr>
+  <td>
+    --launcher=VALUE
+  </td>
+  <td>
+The launcher to be used for Mesos containerizer. It could either be
+<code>linux</code> or <code>posix</code>. The Linux launcher is required for cgroups
+isolation and for any isolators that require Linux namespaces such as
+network, pid, etc. If unspecified, the slave will choose the Linux
+launcher if it's running as root on Linux.
+  </td>
+</tr>
+<tr>
+  <td>
+    --launcher_dir=VALUE
+  </td>
+  <td>
+Directory path of Mesos binaries. Mesos would find health-check,
+fetcher, containerizer and executor binary files under this
+directory. (default: /usr/local/libexec/mesos)
+  </td>
+</tr>
+<tr>
+  <td>
+    --oversubscribed_resources_interval=VALUE
+  </td>
+  <td>
+The slave periodically updates the master with the current estimation
+about the total amount of oversubscribed resources that are allocated
+and available. The interval between updates is controlled by this flag.
+(default: 15secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --perf_duration=VALUE
+  </td>
+  <td>
+Duration of a perf stat sample. The duration must be less
+than the <code>perf_interval</code>. (default: 10secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --perf_events=VALUE
+  </td>
+  <td>
+List of command-separated perf events to sample for each container
+when using the perf_event isolator. Default is none.
+Run command <code>perf list</code> to see all events. Event names are
+sanitized by downcasing and replacing hyphens with underscores
+when reported in the PerfStatistics protobuf, e.g., <code>cpu-cycles</code>
+becomes <code>cpu_cycles</code>; see the PerfStatistics protobuf for all names.
+  </td>
+</tr>
+<tr>
+  <td>
+    --perf_interval=VALUE
+  </td>
+  <td>
+Interval between the start of perf stat samples. Perf samples are
+obtained periodically according to <code>perf_interval</code> and the most
+recently obtained sample is returned rather than sampling on
+demand. For this reason, <code>perf_interval</code> is independent of the
+resource monitoring interval. (default: 60secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --qos_controller=VALUE
+  </td>
+  <td>
+The name of the QoS Controller to use for oversubscription.
+  </td>
+</tr>
+<tr>
+  <td>
+    --qos_correction_interval_min=VALUE
+  </td>
+  <td>
+The slave polls and carries out QoS corrections from the QoS
+Controller based on its observed performance of running tasks.
+The smallest interval between these corrections is controlled by
+this flag. (default: 0secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --recover=VALUE
+  </td>
+  <td>
+Whether to recover status updates and reconnect with old executors.
+Valid values for <code>recover</code> are
+reconnect: Reconnect with any old live executors.
+cleanup  : Kill any old live executors and exit.
+           Use this option when doing an incompatible slave
+           or executor upgrade!). (default: reconnect)
+  </td>
+</tr>
+<tr>
+  <td>
+    --recovery_timeout=VALUE
+  </td>
+  <td>
+Amount of time allotted for the slave to recover. If the slave takes
+longer than recovery_timeout to recover, any executors that are
+waiting to reconnect to the slave will self-terminate.
+(default: 15mins)
+  </td>
+</tr>
+<tr>
+  <td>
+    --registration_backoff_factor=VALUE
+  </td>
+  <td>
+Slave initially picks a random amount of time between <code>[0, b]</code>, where
+<code>b = registration_backoff_factor</code>, to (re-)register with a new master.
+Subsequent retries are exponentially backed off based on this
+interval (e.g., 1st retry uses a random value between <code>[0, b * 2^1]</code>,
+2nd retry between <code>[0, b * 2^2]</code>, 3rd retry between <code>[0, b * 2^3]</code>,
+etc) up to a maximum of 1mins (default: 1secs)
+  </td>
+</tr>
+<tr>
+  <td>
+    --resource_estimator=VALUE
+  </td>
+  <td>
+The name of the resource estimator to use for oversubscription.
+  </td>
+</tr>
+<tr>
+  <td>
+    --resources=VALUE
+  </td>
+  <td>
+Total consumable resources per slave. Can be provided in JSON format
+or as a semicolon-delimited list of key:value pairs, with the role
+optionally specified.
+<p/>
+As a key:value list:
+<code>name(role):value;name:value...</code>
+<p/>
+To use JSON, pass a JSON-formatted string or use
+<code>--resources=filepath</code> to specify the resources via a file containing
+a JSON-formatted string. 'filepath' can be of the form
+<code>file:///path/to/file</code> or <code>/path/to/file</code>.
+<p/>
+Example JSON:
+<pre><code>[
   {
     "name": "cpus",
     "type": "SCALAR",
@@ -1475,100 +1434,87 @@ file:///path/to/file (where file contains one of the above)</code></pre>
     }
   }
 ]</code></pre>
-      <p>
-      See the documentation on
-      <a href="/documentation/latest/attributes-resources/">Attributes and
-      Resources</a> for more information.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]revocable_cpu_low_priority
-    </td>
-    <td>
-      Run containers with revocable CPU at a lower priority than
-      normal containers (non-revocable cpu). Currently only
-      supported by the cgroups/cpu isolator. (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --slave_subsystems=VALUE
-    </td>
-    <td>
-      List of comma-separated cgroup subsystems to run the slave binary
-      in, e.g., <code>memory,cpuacct</code>. The default is none.
-      Present functionality is intended for resource monitoring and
-      no cgroup limits are set, they are inherited from the root mesos
-      cgroup.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]strict
-    </td>
-    <td>
-      If <code>strict=true</code>, any and all recovery errors are considered
-      fatal.
-      <p/>
-      If <code>strict=false</code>, any expected errors (e.g., slave cannot
-      recover information about an executor, because the slave died right before
-      the executor registered.) during recovery are ignored and as much
-      state as possible is recovered. (default: true)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]switch_user
-    </td>
-    <td>
-      If set to <code>true</code>, the agent will attempt to run tasks as
-      the <code>user</code> who launched them (as defined in FrameworkInfo).
-      Note that this requires <code>setuid</code> permission and that the given
-      <code>user</code> exists on the agent).
-      If the user does not exist, an error occurs and the task will fail.
-      If set to <code>false</code>, tasks will be run as the same user as the
-      Mesos agent process. (default: true)
-      <b>NOTE</b> This feature is not yet supported on Windows agents, and
-      therefore the flag currently does not exist on that platform.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --fetcher_cache_size=VALUE
-    </td>
-    <td>
-      Size of the fetcher cache in Bytes.
-      (default: 2 GB)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --fetcher_cache_dir=VALUE
-    </td>
-    <td>
-      Parent directory for fetcher cache directories (one subdirectory
-      per slave). By default this directory is held inside the work
-      directory, so everything can be deleted or archived in one
-      swoop, in particular during testing. However, a typical
-      production scenario is to use a separate cache volume. First, it
-      is not meant to be backed up. Second, you want to avoid that
-      sandbox directories and the cache directory can interfere with
-      each other in unpredictable ways by occupying shared space. So
-      it is recommended to set the cache directory explicitly.
-      (default: /tmp/mesos/fetch)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --work_dir=VALUE
-    </td>
-    <td>
-      Directory path to place framework work directories.
-      (default: /tmp/mesos)
-    </td>
-  </tr>
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]revocable_cpu_low_priority
+  </td>
+  <td>
+Run containers with revocable CPU at a lower priority than
+normal containers (non-revocable cpu). Currently only
+supported by the cgroups/cpu isolator. (default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --sandbox_directory=VALUE
+  </td>
+  <td>
+The absolute path for the directory in the container where the
+sandbox is mapped to.
+(default: /mnt/mesos/sandbox)
+  </td>
+</tr>
+<tr>
+  <td>
+    --slave_subsystems=VALUE
+  </td>
+  <td>
+List of comma-separated cgroup subsystems to run the slave binary
+in, e.g., <code>memory,cpuacct</code>. The default is none.
+Present functionality is intended for resource monitoring and
+no cgroup limits are set, they are inherited from the root mesos
+cgroup.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]strict
+  </td>
+  <td>
+If <code>strict=true</code>, any and all recovery errors are considered fatal.
+If <code>strict=false</code>, any expected errors (e.g., slave cannot recover
+information about an executor, because the slave died right before
+the executor registered.) during recovery are ignored and as much
+state as possible is recovered.
+(default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]switch_user
+  </td>
+  <td>
+If set to <code>true</code>, the slave will attempt to run tasks as
+the <code>user</code> who submitted them (as defined in <code>FrameworkInfo</code>)
+(this requires <code>setuid</code> permission and that the given <code>user</code>
+exists on the slave).
+If the user does not exist, an error occurs and the task will fail.
+If set to <code>false</code>, tasks will be run as the same user as the Mesos
+slave process.
+<b>NOTE</b>: This feature is not yet supported on Windows slave, and
+therefore the flag currently does not exist on that platform. (default: true)
+  </td>
+</tr>
+<tr>
+  <td>
+    --systemd_runtime_directory=VALUE
+  </td>
+  <td>
+The path to the systemd system run time directory.
+(default: /run/systemd/system)
+  </td>
+</tr>
+<tr>
+  <td>
+    --work_dir=VALUE
+  </td>
+  <td>
+Directory path to place framework work directories
+(default: /tmp/mesos)
+  </td>
+</tr>
 </table>
 
 *Flags available when configured with `--with-network-isolator`*
@@ -1584,93 +1530,89 @@ file:///path/to/file (where file contains one of the above)</code></pre>
       </th>
     </tr>
   </thead>
-  <tr>
-    <td>
-      --ephemeral_ports_per_container=VALUE
-    </td>
-    <td>
-      Number of ephemeral ports allocated to a container by the network
-      isolator. This number has to be a power of 2.
-      (default: 1024)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --eth0_name=VALUE
-    </td>
-    <td>
-      The name of the public network interface (e.g., eth0). If it is
-      not specified, the network isolator will try to guess it based
-      on the host default gateway.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --lo_name=VALUE
-    </td>
-    <td>
-      The name of the loopback network interface (e.g., lo). If it is
-      not specified, the network isolator will try to guess it.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --egress_rate_limit_per_container=VALUE
-    </td>
-    <td>
-      The limit of the egress traffic for each container, in Bytes/s.
-      If not specified or specified as zero, the network isolator will
-      impose no limits to containers' egress traffic throughput.
-      This flag uses the Bytes type, defined in stout.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]-egress_unique_flow_per_container
-    </td>
-    <td>
-      Whether to assign an individual flow for each container for the
-      egress traffic. fq_codel qdisc is used to isolate egress traffic
-      for containers. This flag is used for the 'network/port_mapping'
-      isolator. Note, fq_codel qdisc is installed at root and is not
-      removed after mesos slave exits. (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --egress_flow_classifier_parent=root/X:Y
-    </td>
-    <td>
-      When --egress_unique_flow_per_container is enabled, we need to install
-      a flow classifier (fq_codel qdisc) on egress side. This flag specifies
-      where to install it in the whole qdisc hierarchy. By default, we install
-      it at root. But, for example, if you have already installed an HTB qdisc
-      at root, you may want this to be installed in other place than root,
-      specify an HTB class ID (X:Y) as its parent. X:Y must be hexadecimal
-      numbers without "0x" prefix. Note, it is always your responsibility to
-      ensure the whole qdisc hierarchy is meaningful and correct.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]network_enable_socket_statistics_summary
-    </td>
-    <td>
-      Whether to collect socket statistics summary for each container.
-      This flag is used for the 'network/port_mapping' isolator.
-      (default: false)
-    </td>
-  </tr>
-  <tr>
-    <td>
-      --[no-]network_enable_socket_statistics_details
-    </td>
-    <td>
-      Whether to collect socket statistics details (e.g., TCP RTT) for
-      each container. This flag is used for the 'network/port_mapping'
-      isolator. (default: false)
-    </td>
-  </tr>
+<tr>
+  <td>
+    --ephemeral_ports_per_container=VALUE
+  </td>
+  <td>
+Number of ephemeral ports allocated to a container by the network
+isolator. This number has to be a power of 2. This flag is used
+for the <code>network/port_mapping</code> isolator. (default: 1024)
+  </td>
+</tr>
+<tr>
+  <td>
+    --eth0_name=VALUE
+  </td>
+  <td>
+The name of the public network interface (e.g., <code>eth0</code>). If it is
+not specified, the network isolator will try to guess it based
+on the host default gateway. This flag is used for the
+<code>network/port_mapping</code> isolator.
+  </td>
+</tr>
+<tr>
+  <td>
+    --lo_name=VALUE
+  </td>
+  <td>
+The name of the loopback network interface (e.g., lo). If it is
+not specified, the network isolator will try to guess it. This
+flag is used for the <code>network/port_mapping</code> isolator.
+  </td>
+</tr>
+<tr>
+  <td>
+    --egress_rate_limit_per_container=VALUE
+  </td>
+  <td>
+The limit of the egress traffic for each container, in Bytes/s.
+If not specified or specified as zero, the network isolator will
+impose no limits to containers' egress traffic throughput.
+This flag uses the Bytes type (defined in stout) and is used for
+the <code>network/port_mapping</code> isolator.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]egress_unique_flow_per_container
+  </td>
+  <td>
+Whether to assign an individual flow for each container for the
+egress traffic. This flag is used for the <code>network/port_mapping</code>
+isolator. (default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --egress_flow_classifier_parent=VALUE
+  </td>
+  <td>
+When <code>egress_unique_flow_per_container</code> is enabled, we need to install
+a flow classifier (fq_codel) qdisc on egress side. This flag specifies
+where to install it in the hierarchy. By default, we install it at root.
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]network_enable_socket_statistics_summary
+  </td>
+  <td>
+Whether to collect socket statistics summary for each container.
+This flag is used for the <code>network/port_mapping</code> isolator.
+(default: false)
+  </td>
+</tr>
+<tr>
+  <td>
+    --[no-]network_enable_socket_statistics_details
+  </td>
+  <td>
+Whether to collect socket statistics details (e.g., TCP RTT) for
+each container. This flag is used for the <code>network/port_mapping</code>
+isolator. (default: false)
+  </td>
+</tr>
 </table>
 
 


[2/2] mesos git commit: Removed command-line flags from 'logging.md'.

Posted by vi...@apache.org.
Removed command-line flags from 'logging.md'.

Documentation for these flags were moved back to 'configuration.md' in
order to keep all command-line flag documentation in one place.

Review: https://reviews.apache.org/r/42940/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/c2d0ac5c
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/c2d0ac5c
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/c2d0ac5c

Branch: refs/heads/master
Commit: c2d0ac5c04fa39d7e31006c435371b8189f41b8d
Parents: fb0224c
Author: Greg Mann <gr...@mesosphere.io>
Authored: Fri Jan 29 13:34:06 2016 -0800
Committer: Vinod Kone <vi...@gmail.com>
Committed: Fri Jan 29 13:34:06 2016 -0800

----------------------------------------------------------------------
 docs/logging.md | 97 ++--------------------------------------------------
 1 file changed, 3 insertions(+), 94 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/c2d0ac5c/docs/logging.md
----------------------------------------------------------------------
diff --git a/docs/logging.md b/docs/logging.md
index d79a747..50a95ba 100644
--- a/docs/logging.md
+++ b/docs/logging.md
@@ -19,102 +19,11 @@ Roughly, these categories are:
 
 The Mesos Master and Agent use the
 [Google's logging library](https://github.com/google/glog).
-Google logging options that are not explicitly mentioned below can be
+For information regarding the command-line options used to configure this
+library, see the [configuration documentation](configuration.md).
+Google logging options that are not explicitly mentioned there can be
 configured via environment variables.
 
-<table class="table table-striped">
-  <thead>
-    <tr>
-      <th width="30%">
-        Flag
-      </th>
-      <th>
-        Explanation
-      </th>
-    </tr>
-  </thead>
-
-  <tr>
-    <td>
-      <code>--quiet</code>
-    </td>
-    <td>
-      Disable logging to stderr.
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      <code>--logging_level=VALUE</code>
-    </td>
-    <td>
-      Log messages at or above this level.  Defaults to <code>INFO</code>.
-      Possible values:
-        <code>INFO</code>, <code>WARNING</code>, <code>ERROR</code>.
-
-      If <code>--quiet</code> is specified, this will only affect the logs
-      written to <code>--log_dir</code>, if specified.
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      <code>--log_dir=VALUE</code>
-    </td>
-    <td>
-      Location to put log files.  By default, nothing is written to disk.
-      Does not affect logging to stderr.
-
-      If specified, the log file will appear in the Mesos WebUI.
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      <code>--logbufsecs=VALUE</code>
-    </td>
-    <td>
-      Maximum number of seconds that logs may be buffered for.
-      By default, logs are flushed immediately.
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      <code>--[no-]initialize_driver_logging</code>
-    </td>
-    <td>
-      Whether the Master/Agent should initialize Google logging for the Mesos
-      scheduler and executor drivers, in same way as described here.
-      The scheduler/executor drivers have separate logs and do not get
-      written to the Master/Agent.
-
-      This option has no effect when using the HTTP scheduler/executor APIs.
-
-      By default, this option is true.
-    </td>
-  </tr>
-
-  <tr>
-    <td>
-      <code>--external_log_file=VALUE</code>
-    </td>
-    <td>
-      Location of the externally managed log file.  Mesos does not write to
-      this file directly and merely exposes it in the WebUI and HTTP API.
-
-      This is only useful when logging to stderr in combination with an external
-      logging mechanism, like syslog or journald.
-
-      This option is meaningless when specified along with <code>--quiet</code>.
-
-      This option takes precedence over <code>--log_dir</code> in the WebUI.
-      However, logs will still be written to the <code>--log_dir</code> if
-      that option is specified.
-    </td>
-  </tr>
-</table>
-
 Both Master and Agent also expose an HTTP endpoint which temporarily toggles
 verbose logging: