You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ti...@apache.org on 2016/01/19 18:01:00 UTC

svn commit: r1725568 [1/5] - in /mesos/site: publish/ publish/documentation/ publish/documentation/allocation-module/ publish/documentation/architecture/ publish/documentation/authentication/ publish/documentation/authorization/ publish/documentation/c...

Author: tillt
Date: Tue Jan 19 17:00:59 2016
New Revision: 1725568

URL: http://svn.apache.org/viewvc?rev=1725568&view=rev
Log:
Synced SVN site repo with GIT repo for 0.26.0


Added:
    mesos/site/source/documentation/latest/home.md
    mesos/site/source/documentation/latest/roles.md
Modified:
    mesos/site/publish/documentation/allocation-module/index.html
    mesos/site/publish/documentation/architecture/index.html
    mesos/site/publish/documentation/authentication/index.html
    mesos/site/publish/documentation/authorization/index.html
    mesos/site/publish/documentation/c++-style-guide/index.html
    mesos/site/publish/documentation/clang-format/index.html
    mesos/site/publish/documentation/committers/index.html
    mesos/site/publish/documentation/configuration/index.html
    mesos/site/publish/documentation/effective-code-reviewing/index.html
    mesos/site/publish/documentation/fetcher/index.html
    mesos/site/publish/documentation/getting-started/index.html
    mesos/site/publish/documentation/high-availability/index.html
    mesos/site/publish/documentation/index.html
    mesos/site/publish/documentation/latest/allocation-module/index.html
    mesos/site/publish/documentation/latest/architecture/index.html
    mesos/site/publish/documentation/latest/authentication/index.html
    mesos/site/publish/documentation/latest/authorization/index.html
    mesos/site/publish/documentation/latest/c++-style-guide/index.html
    mesos/site/publish/documentation/latest/clang-format/index.html
    mesos/site/publish/documentation/latest/committers/index.html
    mesos/site/publish/documentation/latest/configuration/index.html
    mesos/site/publish/documentation/latest/effective-code-reviewing/index.html
    mesos/site/publish/documentation/latest/fetcher/index.html
    mesos/site/publish/documentation/latest/getting-started/index.html
    mesos/site/publish/documentation/latest/high-availability/index.html
    mesos/site/publish/documentation/latest/index.html
    mesos/site/publish/documentation/latest/maintenance/index.html
    mesos/site/publish/documentation/latest/networking-for-mesos-managed-containers/index.html
    mesos/site/publish/documentation/latest/oversubscription/index.html
    mesos/site/publish/documentation/latest/persistent-volume/index.html
    mesos/site/publish/documentation/latest/reconciliation/index.html
    mesos/site/publish/documentation/latest/release-guide/index.html
    mesos/site/publish/documentation/latest/reservation/index.html
    mesos/site/publish/documentation/latest/scheduler-http-api/index.html
    mesos/site/publish/documentation/latest/testing-patterns/index.html
    mesos/site/publish/documentation/latest/upgrades/index.html
    mesos/site/publish/documentation/maintenance/index.html
    mesos/site/publish/documentation/networking-for-mesos-managed-containers/index.html
    mesos/site/publish/documentation/oversubscription/index.html
    mesos/site/publish/documentation/persistent-volume/index.html
    mesos/site/publish/documentation/reconciliation/index.html
    mesos/site/publish/documentation/release-guide/index.html
    mesos/site/publish/documentation/reservation/index.html
    mesos/site/publish/documentation/scheduler-http-api/index.html
    mesos/site/publish/documentation/testing-patterns/index.html
    mesos/site/publish/documentation/upgrades/index.html
    mesos/site/publish/gettingstarted/index.html
    mesos/site/publish/sitemap.xml
    mesos/site/source/documentation/latest/architecture.md
    mesos/site/source/documentation/latest/attributes-resources.md
    mesos/site/source/documentation/latest/authorization.md
    mesos/site/source/documentation/latest/configuration.md
    mesos/site/source/documentation/latest/fetcher.md
    mesos/site/source/documentation/latest/getting-started.md
    mesos/site/source/documentation/latest/logging-and-debugging.md
    mesos/site/source/documentation/latest/modules.md
    mesos/site/source/documentation/latest/monitoring.md
    mesos/site/source/documentation/latest/network-monitoring.md
    mesos/site/source/documentation/latest/networking-for-mesos-managed-containers.md
    mesos/site/source/documentation/latest/oversubscription.md
    mesos/site/source/documentation/latest/persistent-volume.md
    mesos/site/source/documentation/latest/powered-by-mesos.md
    mesos/site/source/documentation/latest/reporting-a-bug.md
    mesos/site/source/documentation/latest/reservation.md
    mesos/site/source/documentation/latest/scheduler-http-api.md
    mesos/site/source/documentation/latest/slave-recovery.md
    mesos/site/source/documentation/latest/ssl.md
    mesos/site/source/documentation/latest/submitting-a-patch.md
    mesos/site/source/documentation/latest/tools.md
    mesos/site/source/documentation/latest/upgrades.md

Modified: mesos/site/publish/documentation/allocation-module/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/allocation-module/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/allocation-module/index.html (original)
+++ mesos/site/publish/documentation/allocation-module/index.html Tue Jan 19 17:00:59 2016
@@ -146,7 +146,7 @@ mesos::modules::Module<Allocator>
     createExternalAllocator);
 </code></pre>
 
-<p>Refer to the <a href="/documentation/latest/modules/">Mesos Modules documentation</a> for instructions on how to compile and load a module in Mesos master.</p>
+<p>Refer to the <a href="http://mesos.apache.org/documentation/latest/modules/">Mesos Modules documentation</a> for instructions how to compile and load a module in Mesos master.</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/architecture/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/architecture/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/architecture/index.html (original)
+++ mesos/site/publish/documentation/architecture/index.html Tue Jan 19 17:00:59 2016
@@ -85,11 +85,11 @@
 
 <p><img src="/assets/img/documentation/architecture3.jpg" alt="Mesos Architecture" /></p>
 
-<p>The above figure shows the main components of Mesos.  Mesos consists of a <em>master</em> daemon that manages <em>slave</em> daemons running on each cluster node, and <em>Mesos frameworks</em> that run <em>tasks</em> on these slaves.</p>
+<p>The above figure shows the main components of Mesos.  Mesos consists of a <em>master</em> daemon that manages <em>slave</em> daemons running on each cluster node, and <em>mesos applications</em> (also called <em>frameworks</em>) that run <em>tasks</em> on these slaves.</p>
 
-<p>The master enables fine-grained sharing of resources (CPU, RAM, &hellip;) across frameworks by making them <em>resource offers</em>. Each resource offer contains a list of &lt;slave ID, resource1: amount1, resource2, amount2, &hellip;&gt;.  The master decides <em>how many</em> resources to offer to each framework according to a given organizational policy, such as fair sharing or strict priority. To support a diverse set of policies, the master employs a modular architecture that makes it easy to add new allocation modules via a plugin mechanism.</p>
+<p>The master enables fine-grained sharing of resources (cpu, ram, &hellip;) across applications by making them <em>resource offers</em>. Each resource offer contains a list of &lt;slave ID, resource1: amount1, resource2, amount2, &hellip;&gt;.  The master decides <em>how many</em> resources to offer to each framework according to a given organizational policy, such as fair sharing, or strict priority. To support a diverse set of policies, the master employs a modular architecture that makes it easy to add new allocation modules via a plugin mechanism.</p>
 
-<p>A framework running on top of Mesos consists of two components: a <em>scheduler</em> that registers with the master to be offered resources, and an <em>executor</em> process that is launched on slave nodes to run the framework&rsquo;s tasks (see the <a href="/documentation/latest/app-framework-development-guide/">App/Framework development guide</a> for more details about framework schedulers and executors). While the master determines <strong>how many</strong> resources are offered to each framework, the frameworks' schedulers select <strong>which</strong> of the offered resources to use. When a frameworks accepts offered resources, it passes to Mesos a description of the tasks it wants to run on them. In turn, Mesos launches the tasks on the corresponding slaves.</p>
+<p>A framework running on top of Mesos consists of two components: a <em>scheduler</em> that registers with the master to be offered resources, and an <em>executor</em> process that is launched on slave nodes to run the framework&rsquo;s tasks (see the <a href="/documentation/latest/app-framework-development-guide/">App/Framework development guide</a> for more details about application schedulers and executors). While the master determines <strong>how many</strong> resources are offered to each framework, the frameworks' schedulers select <strong>which</strong> of the offered resources to use. When a frameworks accepts offered resources, it passes to Mesos a description of the tasks it wants to run on them. In turn, Mesos launches the tasks on the corresponding slaves.</p>
 
 <h2>Example of resource offer</h2>
 

Modified: mesos/site/publish/documentation/authentication/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/authentication/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/authentication/index.html (original)
+++ mesos/site/publish/documentation/authentication/index.html Tue Jan 19 17:00:59 2016
@@ -100,7 +100,7 @@
 
 <h2>Configuration</h2>
 
-<p>The <a href="/documentation/latest/configuration/">configuration options</a> that are used by the authentication mechanism are as follows:</p>
+<p>The <a href="http://mesos.apache.org/documentation/latest/configuration/">configuration options</a> that are used by the authentication mechanism are as follows:</p>
 
 <h3>Masters</h3>
 

Modified: mesos/site/publish/documentation/authorization/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/authorization/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/authorization/index.html (original)
+++ mesos/site/publish/documentation/authorization/index.html Tue Jan 19 17:00:59 2016
@@ -86,22 +86,22 @@
 <p>Mesos 0.20.0 adds support for framework authorization. Authorization allows</p>
 
 <ol>
-<li>Frameworks to (re-)register with authorized <em>roles</em>.</li>
-<li>Frameworks to launch tasks/executors as authorized <em>users</em>.</li>
-<li>Authorized <em>principals</em> to shutdown frameworks through the &ldquo;/teardown&rdquo; HTTP endpoint.</li>
+<li>Frameworks to (re-)register with authorized <code>roles</code>.</li>
+<li>Frameworks to launch tasks/executors as authorized <code>users</code>.</li>
+<li>Authorized <code>principals</code> to shutdown framework(s) through &ldquo;/shutdown&rdquo; HTTP endpoint.</li>
 </ol>
 
 
 <h2>ACLs</h2>
 
-<p>Authorization is implemented via Access Control Lists (ACLs). For each of the 3 cases described above, ACLs can be used to restrict access. Operators can setup ACLs in JSON format. See <a href="https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto">mesos.proto</a> for details.</p>
+<p>Authorization is implemented via Access Control Lists (ACLs). For each of the 3 cases described above there is a corresponding ACL(s) that can be set to restrict access. Operators can setup ACLs in JSON format. See <a href="https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto">mesos.proto</a> for details.</p>
 
 <p>Each ACL specifies a set of <code>Subjects</code> that can perform an <code>Action</code> on a set of <code>Objects</code>.</p>
 
 <p>The currently supported <code>Actions</code> are:</p>
 
 <ol>
-<li>&ldquo;register_frameworks&rdquo;: Register frameworks</li>
+<li>&ldquo;register_frameworks&rdquo;: Register Frameworks</li>
 <li>&ldquo;run_tasks&rdquo;: Run tasks/executors</li>
 <li>&ldquo;shutdown_frameworks&rdquo;: Shutdown frameworks</li>
 </ol>
@@ -123,29 +123,29 @@
 <p>The currently supported <code>Objects</code> are:</p>
 
 <ol>
-<li>&ldquo;roles&rdquo;: Resource <a href="/documentation/latest/roles/">roles</a> that framework can register with (used by &ldquo;register_frameworks&rdquo; actions)</li>
-<li>&ldquo;users&rdquo;: Unix user to launch the task/executor as (used by &ldquo;run_tasks&rdquo; actions)</li>
-<li>&ldquo;framework_principals&rdquo;: Framework principals that can be shutdown by HTTP POST (used by &ldquo;shutdown_frameworks&rdquo; actions).</li>
+<li>&ldquo;roles&rdquo;: Resource <a href="/documentation/latest/roles/">roles</a> that framework can register with (used by &ldquo;register_frameworks&rdquo; action)</li>
+<li>&ldquo;users&rdquo;: Unix user to launch the task/executor as (used by &ldquo;run_tasks&rdquo; action)</li>
+<li>&ldquo;framework_principals&rdquo;: Framework principals that can be shutdown by HTTP POST (used by &ldquo;shutdown_frameworks&rdquo; action).</li>
 </ol>
 
 
-<blockquote><p>NOTE: Both <code>Subjects</code> and <code>Objects</code> can be either an array of strings or one of the special values <code>ANY</code> or <code>NONE</code>.</p></blockquote>
+<blockquote><p>NOTE: Both <code>Subjects</code> and <code>Objects</code> can take a list of strings or special values (<code>ANY</code> or <code>NONE</code>).</p></blockquote>
 
 <h2>How does it work?</h2>
 
 <p>The Mesos master checks the ACLs to verify whether a request is authorized or not.</p>
 
-<p>For example, when a framework (re-)registers with the master, &ldquo;register_frameworks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to receive offers for the given resource role (<code>FrameworkInfo.role</code>). If not authorized, the framework is not allowed to (re-)register and gets an <code>Error</code> message back (which aborts the scheduler driver).</p>
+<p>For example, when a framework (re-)registers with the master, the &ldquo;register_frameworks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to receive offers for the given resource role (<code>FrameworkInfo.role</code>). If not authorized, the framework is not allowed to (re-)register and gets an <code>Error</code> message back (which aborts the scheduler driver).</p>
 
-<p>Similarly, when a framework launches a task, &ldquo;run_tasks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to run the task/executor as the given user. If not authorized, the launch is rejected and the framework gets a TASK_LOST.</p>
+<p>Similarly, when a framework launches a task(s), &ldquo;run_tasks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to run the task/executor as the given <code>user</code>. If not authorized, the launch is rejected and the framework gets a TASK_LOST.</p>
 
-<p>In the same vein, when a user/principal attempts to shutdown a framework using the &ldquo;/teardown&rdquo; HTTP endpoint on the master, &ldquo;shutdown_frameworks&rdquo; ACLs are checked to see if the principal is authorized to shutdown the given framework. If not authorized, the shutdown is rejected and the user receives an <code>Unauthorized</code> HTTP response.</p>
+<p>In the same vein, when a user/principal attempts to shutdown a framework through the &ldquo;/teardown&rdquo; HTTP endpoint on the master, &ldquo;shutdown_frameworks&rdquo; ACLs are checked to see if the <code>principal</code> is authorized to shutdown the given framework. If not authorized, the shutdown is rejected and the user receives an <code>Unauthorized</code> HTTP response.</p>
 
 <p>There are couple of important things to note:</p>
 
 <ol>
-<li><p>ACLs are matched in the order that they are specified. In other words, the first matching ACL determines whether a request is authorized or not.</p></li>
-<li><p>If no ACLs match a request, whether the request is authorized or not is determined by the <code>ACLs.permissive</code> field. This is &ldquo;true&rdquo; by default &ndash; i.e., non-matching requests are authorized.</p></li>
+<li><p>ACLs are matched in the order that they are setup. In other words, the first matching ACL determines whether a request is authorized or not.</p></li>
+<li><p>If none of the specified ACLs match the given request, whether the request is authorized or not is defined by <code>ACLs.permissive</code> field. By default this is &ldquo;true&rdquo; i.e., a non-matching request is authorized.</p></li>
 </ol>
 
 
@@ -154,140 +154,121 @@
 <ol>
 <li><p>Frameworks <code>foo</code> and <code>bar</code> can run tasks as user <code>alice</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "values": ["foo", "bar"] },
-                    "users": { "values": ["alice"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "values": ["foo", "bar"] },
+                        "users": { "values": ["alice"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>Any framework can run tasks as user <code>guest</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "type": "ANY" },
-                    "users": { "values": ["guest"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "type": "ANY" },
+                        "users": { "values": ["guest"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>No framework can run tasks as <code>root</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "type": "NONE" },
-                    "users": { "values": ["root"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "type": "NONE" },
+                        "users": { "values": ["root"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>Framework <code>foo</code> can run tasks only as user <code>guest</code> and no other user.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "values": ["foo"] },
-                    "users": { "values": ["guest"] }
-                  },
-                  {
-                    "principals": { "values": ["foo"] },
-                    "users": { "type": "NONE" }
-                  }
-                ]
- }
-</code></pre></li>
-<li><p>Framework <code>foo</code> can register with the <code>analytics</code> and <code>ads</code> roles.</p>
-
-<pre><code> {
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics", "ads"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>Only framework <code>foo</code> and no one else can register with the <code>analytics</code> role.</p>
-
-<pre><code> {
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            },
-                            {
-                              "principals": {
-                                "type": "NONE"
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>Framework <code>foo</code> can only register with the <code>analytics</code> role but no other roles. Also, no other framework can register with any roles or run tasks.</p>
-
-<pre><code> {
-   "permissive": false,
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>The <code>ops</code> principal can shutdown any framework using the &ldquo;/teardown&rdquo; HTTP endpoint. No other framework can register with any roles or run tasks.</p>
-
-<pre><code> {
-   "permissive": false,
-   "shutdown_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["ops"]
-                              },
-                              "framework_principals": {
-                                "type": "ANY"
-                              }
-                            }
-                          ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "values": [ "foo" ] },
+                        "users": { "values": ["guest"] }
+                      },
+                      {
+                        "principals": { "values": [ "foo" ] },
+                        "users": { "type": "NONE" }
+                      }
+                    ]
+     }
+</code></pre></li>
+<li><p>Framework <code>foo</code> can register with <code>analytics</code> and <code>ads</code> roles.</p>
+
+<pre><code>     {
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics", "ads"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Only framework <code>foo</code> and no one else can register with <code>analytics</code> role.</p>
+
+<pre><code>     {
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics"] }
+                                },
+                                {
+                                  "principals": { "type": "NONE" },
+                                  "roles": { "values": ["analytics"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Framework <code>foo</code> can only register with <code>analytics</code> role but no other roles. Also, no other framework can register with any roles.</p>
+
+<pre><code>     {
+       "permissive" : false,
+
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Only <code>ops</code> principal can shutdown any frameworks through &ldquo;/teardown&rdquo; HTTP endpoint.</p>
+
+<pre><code>     {
+       "permissive" : false,
+
+       "shutdown_frameworks": [
+                                {
+                                  "principals": { "values": ["ops"] },
+                                  "framework_principals": { "type": "ANY" }
+                                }
+                              ]
+     }
 </code></pre></li>
 </ol>
 
 
-<h2>Configuring authorization</h2>
+<h2>Enabling authorization</h2>
 
-<p>Authorization is configured by specifying the <code>--acls</code> flag when starting the master:</p>
+<p>As part of this feature, a new flag was added to the master.</p>
 
 <ul>
-<li><code>acls</code>:  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 &lsquo;file:///path/to/file&rsquo;
-         or &lsquo;/path/to/file&rsquo;.
-         See the ACLs protobuf in mesos.proto for the expected format.</li>
+<li><code>acls</code> :  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 &lsquo;file:///path/to/file&rsquo;
+          or &lsquo;/path/to/file&rsquo;.
+          See the ACLs protobuf in mesos.proto for the expected format.</li>
 </ul>
 
 
-<p>For more information on master command-line flags, see the
-<a href="/documentation/latest/configuration/">configuration</a> page.</p>
+<p><strong>For the complete list of master options: ./mesos-master.sh &ndash;help</strong></p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/c++-style-guide/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/c%2B%2B-style-guide/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/c++-style-guide/index.html (original)
+++ mesos/site/publish/documentation/c++-style-guide/index.html Tue Jan 19 17:00:59 2016
@@ -151,22 +151,9 @@ void Slave::statusUpdate(StatusUpdate up
 <ul>
 <li>End each sentence within a comment with a punctuation mark (please note that we generally prefer periods); this applies to incomplete sentences as well.</li>
 <li>For trailing comments, leave one space.</li>
-<li>Use backticks when quoting code excerpts or object/variable/function names. For example:</li>
 </ul>
 
 
-<pre><code class="{.cpp}">// Use `SchedulerDriver::acceptOffers()` to send several offer
-// operations. This makes use of the `RESERVE()` and `UNRESERVE()`
-// helpers, which take a `Resources` object as input and produce
-// appropriate offer operations. Note that we are unreserving the
-// resources contained in `dynamicallyReserved1`.
-driver.acceptOffers({offer.id()},
-    {UNRESERVE(dynamicallyReserved1),
-     RESERVE(dynamicallyReserved2),
-     RESERVE(dynamicallyReserved3)},
-    filters);
-</code></pre>
-
 <h2>Breaks</h2>
 
 <ul>
@@ -243,24 +230,9 @@ allocator-&gt;resourcesRecovered(
 <h2>Empty Lines</h2>
 
 <ul>
-<li>One empty line at the end of the file.</li>
-<li>Inside a code block, every multi-line statement should be followed by one empty line.</li>
-</ul>
-
-
-<pre><code class="{.cpp}">Try&lt;very_very_long_type&gt; long_name =
-    ::protobuf::parse&lt;very_very_long_type&gt;(
-        request);
-
-for (int i = 0; i &lt; very_very_long_expression();
-     i++) {
-  // No empty line here for control constructs.
-}
-</code></pre>
-
-<ul>
-<li>Elements outside classes (classes, structs, global functions, etc.) should be spaced apart by two empty lines.</li>
-<li>Elements inside classes (member variables and functions) should not be spaced apart by more than one empty line.</li>
+<li>1 blank line at the end of the file.</li>
+<li>Elements outside classes (classes, structs, global functions, etc.) should be spaced apart by 2 blank lines.</li>
+<li>Elements inside classes (member variables and functions) should not be spaced apart by more than 1 blank line.</li>
 </ul>
 
 
@@ -349,75 +321,43 @@ s += "world"; // THIS IS A DANGLING REFE
 <ul>
 <li><p>Mesos source files must contain the &ldquo;ASF&rdquo; header:</p>
 
-<pre><code>   // Licensed to the Apache Software Foundation (ASF) under one
-   // or more contributor license agreements.  See the NOTICE file
-   // distributed with this work for additional information
-   // regarding copyright ownership.  The ASF licenses this file
-   // to you under the Apache License, Version 2.0 (the
-   // "License"); you may not use this file except in compliance
-   // with the License.  You may obtain a copy of the License at
-   //
-   //     http://www.apache.org/licenses/LICENSE-2.0
-   //
-   // Unless required by applicable law or agreed to in writing, software
-   // distributed under the License is distributed on an "AS IS" BASIS,
-   // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   // See the License for the specific language governing permissions and
-   // limitations under the License.
+<pre><code>  /**
+   * Licensed to the Apache Software Foundation (ASF) under one
+   * or more contributor license agreements.  See the NOTICE file
+   * distributed with this work for additional information
+   * regarding copyright ownership.  The ASF licenses this file
+   * to you under the Apache License, Version 2.0 (the
+   * "License"); you may not use this file except in compliance
+   * with the License.  You may obtain a copy of the License at
+   *
+   *     http://www.apache.org/licenses/LICENSE-2.0
+   *
+   * Unless required by applicable law or agreed to in writing, software
+   * distributed under the License is distributed on an "AS IS" BASIS,
+   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   * See the License for the specific language governing permissions and
+   * limitations under the License.
+   */
 </code></pre></li>
 <li><p>Stout and libprocess source files must contain the &ldquo;Apache License Version 2.0&rdquo; header:</p>
 
-<pre><code>   // Licensed under the Apache License, Version 2.0 (the "License");
-   // you may not use this file except in compliance with the License.
-   // You may obtain a copy of the License at
-   //
-   //     http://www.apache.org/licenses/LICENSE-2.0
-   //
-   // Unless required by applicable law or agreed to in writing, software
-   // distributed under the License is distributed on an "AS IS" BASIS,
-   // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   // See the License for the specific language governing permissions and
-   // limitations under the License
+<pre><code>  /**
+   * Licensed under the Apache License, Version 2.0 (the "License");
+   * you may not use this file except in compliance with the License.
+   * You may obtain a copy of the License at
+   *
+   *     http://www.apache.org/licenses/LICENSE-2.0
+   *
+   * Unless required by applicable law or agreed to in writing, software
+   * distributed under the License is distributed on an "AS IS" BASIS,
+   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   * See the License for the specific language governing permissions and
+   * limitations under the License
+   */
 </code></pre></li>
 </ul>
 
 
-<h2>Order of includes</h2>
-
-<p>In addition to the ordering rules from the Google style guide, Mesos related headers are separated into sections. Newline to separate each section.
-Mesos related headers in <code>include</code> directories are partitioned by their subfolders, sorted alphabetically, and included using brackets.
-Header in <code>src</code> directories are included afterwards, using the same rules but with quotes instead of brackets.</p>
-
-<p>Example for <code>src/common/foo.cpp</code>:</p>
-
-<pre><code class="{.cpp}">#include "common/foo.hpp"
-
-#include &lt;stdint.h&gt;
-
-#include &lt;string&gt;
-#include &lt;vector&gt;
-
-#include &lt;boost/circular_buffer.hpp&gt;
-
-#include &lt;mesos/mesos.hpp&gt;
-#include &lt;mesos/type_utils.hpp&gt;
-
-#include &lt;mesos/module/authenticator.hpp&gt;
-
-#include &lt;mesos/scheduler/scheduler.hpp&gt;
-
-#include &lt;process/http.hpp&gt;
-#include &lt;process/protobuf.hpp&gt;
-
-#include &lt;stout/foreach.hpp&gt;
-#include &lt;stout/hashmap.hpp&gt;
-
-#include "common/build.hpp"
-#include "common/protobuf_utils.hpp"
-
-#include "master/flags.hpp"
-</code></pre>
-
 <h2>C++11</h2>
 
 <p>We support C++11 and require GCC 4.8+ or Clang 3.5+ compilers. The whitelist of supported C++11 features is:</p>

Modified: mesos/site/publish/documentation/clang-format/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/clang-format/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/clang-format/index.html (original)
+++ mesos/site/publish/documentation/clang-format/index.html Tue Jan 19 17:00:59 2016
@@ -85,7 +85,7 @@
 
 <p><a href="http://llvm.org/releases/3.5.1/tools/clang/docs/ClangFormat.html">ClangFormat</a> is an automatic source code formatting tool which helps us focus on the code rather than the formatting.</p>
 
-<blockquote><p>The provided configurations try to honor the <a href="/documentation/latest/c++-style-guide/">Mesos C++ Style Guide</a> as much as possible, but there are some limitations which require manual attention. Even with these limitations however, ClangFormat will be extremely useful for your workflow!</p></blockquote>
+<blockquote><p>The provided configurations try to honor the <a href="http://mesos.apache.org/documentation/latest/c++-style-guide/">Mesos C++ Style Guide</a> as much as possible, but there are some limitations which require manual attention. Even with these limitations however, ClangFormat will be extremely useful for your workflow!</p></blockquote>
 
 <h2>Setup</h2>
 

Modified: mesos/site/publish/documentation/committers/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/committers/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/committers/index.html (original)
+++ mesos/site/publish/documentation/committers/index.html Tue Jan 19 17:00:59 2016
@@ -231,13 +231,6 @@
       <td>nnielsen@apache.org</td>
     </tr>
     <tr>
-      <td>-5</td>
-      <td>Michael Park</td>
-      <td>Mesosphere</td>
-      <td>mpark</td>
-      <td>mpark@apache.org</td>
-    </tr>
-    <tr>
       <td>-8</td>
       <td>Charles Reiss</td>
       <td>UC Berkeley</td>

Modified: mesos/site/publish/documentation/configuration/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/configuration/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/configuration/index.html (original)
+++ mesos/site/publish/documentation/configuration/index.html Tue Jan 19 17:00:59 2016
@@ -83,32 +83,19 @@
 	<div class="col-md-8">
 		<h1>Mesos Configuration</h1>
 
-<p>The Mesos master and slave can take a variety of configuration options
-through command-line arguments, or environment variables. A list of
-the available options can be seen by running <code>mesos-master --help</code> or
-<code>mesos-slave --help</code>. Each option can be set in two ways:</p>
+<p>The Mesos master and slave can take a variety of configuration options through command-line arguments, or environment variables. A list of the available options can be seen by running <code>mesos-master --help</code> or <code>mesos-slave --help</code>. Each option can be set in two ways:</p>
 
 <ul>
-<li><p>By passing it to the binary using <code>--option_name=value</code>, either
-specifying the value directly, or specifying a file in which the value
-resides (<code>--option_name=file://path/to/file</code>). The path can be
-absolute or relative to the current working directory.</p></li>
-<li><p>By setting the environment variable <code>MESOS_OPTION_NAME</code> (the option
-name with a <code>MESOS_</code> prefix added to it).</p></li>
+<li>By passing it to the binary using <code>--option_name=value</code>, either specifying the value directly, or specifying a file in which the value resides (<code>--option_name=file://path/to/file</code>). The path can be absolute or relative to the current working directory.</li>
+<li>By setting the environment variable <code>MESOS_OPTION_NAME</code> (the option name with a <code>MESOS_</code> prefix added to it).</li>
 </ul>
 
 
-<p>Configuration values are searched for first in the environment, then
-on the command-line.</p>
+<p>Configuration values are searched for first in the environment, then on the command-line.</p>
 
 <p><strong>Important Options</strong></p>
 
-<p>If you have special compilation requirements, please refer to
-<code>./configure --help</code> when configuring Mesos. Additionally, this
-documentation lists only a recent snapshot of the options in Mesos. A
-definitive source for which flags your version of Mesos supports can
-be found by running the binary with the flag <code>--help</code>, for example
-<code>mesos-master --help</code>.</p>
+<p>If you have special compilation requirements, please refer to <code>./configure --help</code> when configuring Mesos. Additionally, this documentation lists only a recent snapshot of the options in Mesos. A definitive source for which flags your version of Mesos supports can be found by running the binary with the flag <code>--help</code>, for example <code>mesos-master --help</code>.</p>
 
 <h2>Master and Slave Options</h2>
 
@@ -128,26 +115,6 @@ be found by running the binary with the
 
   <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 (alongwith advertise_ip).
-      Mesos master/slave does not bind using this port. However, this port
-      (alongwith advertise_ip) may be used to access Mesos master/slave.
-    </td>
-  </tr>
-  <tr>
-    <td>
       --external_log_file=VALUE
     </td>
     <td>
@@ -173,7 +140,7 @@ be found by running the binary with the
   "disabled_endpoints" : {
     "paths" : [
       "/files/browse",
-      "/slave(0)/stats.json"
+      "/slave(0)/stats.json",
     ]
   }
 }</code></pre>
@@ -290,6 +257,25 @@ be found by running the binary with the
       </th>
     </tr>
   </thead>
+   <tr>
+     <td>
+      --advertise_ip=VALUE
+    </td>
+    <td>
+      IP address advertised to reach mesos master. Mesos master does not bind using this
+      IP address. However, this IP address may be used to access Mesos master.
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --advertise_port=VALUE
+    </td>
+    <td>
+      Port advertised to reach mesos master (alongwith advertise_ip). Mesos master does not
+      bind using this port. However, this port (alongwith advertise_ip) may be used to
+      access Mesos master.
+    </td>
+  </tr>
   <tr>
     <td>
       --quorum=VALUE
@@ -1299,7 +1285,6 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
-      <a name="gc_disk_headroom"></a>
       --gc_disk_headroom=VALUE
     </td>
     <td>
@@ -1363,9 +1348,7 @@ file:///path/to/file (where file contain
       '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)
+      the <code>--modules</code> flag. Note that this flag is only relevant for the Mesos Containerizer. (default: posix/cpu,posix/mem)
     </td>
   </tr>
   <tr>
@@ -1670,16 +1653,9 @@ file:///path/to/file (where file contain
       --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>
+      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>
@@ -1747,33 +1723,6 @@ file:///path/to/file (where file contain
     </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>

Modified: mesos/site/publish/documentation/effective-code-reviewing/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/effective-code-reviewing/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/effective-code-reviewing/index.html (original)
+++ mesos/site/publish/documentation/effective-code-reviewing/index.html Tue Jan 19 17:00:59 2016
@@ -102,7 +102,7 @@ reviews based on commits. Become familia
 change clear in the review request, so the reviewer is not left
 guessing. It is highly recommended to attach a JIRA issue with your
 review for additional context.</li>
-<li><strong>Follow the <a href="/documentation/latest/c++-style-guide/">style guide</a>
+<li><strong>Follow the <a href="http://mesos.apache.org/documentation/latest/c++-style-guide/">style guide</a>
 and the style of code around you</strong>.</li>
 <li><strong>Do a self-review of your changes before publishing</strong>: Approach it
 from the perspective of a reviewer with no context. Is it easy to figure

Modified: mesos/site/publish/documentation/fetcher/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/fetcher/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/fetcher/index.html (original)
+++ mesos/site/publish/documentation/fetcher/index.html Tue Jan 19 17:00:59 2016
@@ -90,11 +90,10 @@ from local file systems.</p>
 
 <h2>What is the Mesos fetcher?</h2>
 
-<p>The Mesos fetcher is a mechanism to download resources into the <a href="/documentation/latest/sandbox/">sandbox
-directory</a> of a task in preparation of running
-the task. As part of a TaskInfo message, the framework ordering the task&rsquo;s
-execution provides a list of <code>CommandInfo::URI</code> protobuf values, which becomes
-the input to the Mesos fetcher.</p>
+<p>The Mesos fetcher is a mechanism to download resources into the sandbox
+directory of a task in preparation of running the task. As part of a TaskInfo
+message, the framework ordering the task&rsquo;s execution provides a list of
+<code>CommandInfo::URI</code> protobuf values, which becomes the input to the Mesos fetcher.</p>
 
 <p>The Mesos fetcher can copy files from a local filesytem and it also natively
 supports the HTTP, HTTPS, FTP and FTPS protocols. If the requested URI is based

Modified: mesos/site/publish/documentation/getting-started/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/getting-started/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/getting-started/index.html (original)
+++ mesos/site/publish/documentation/getting-started/index.html Tue Jan 19 17:00:59 2016
@@ -87,18 +87,18 @@
 
 <p>There are different ways you can get Mesos:</p>
 
-<p>1. Download the latest stable release from <a href="http://mesos.apache.org/downloads/">Apache</a> (<strong><em>Recommended</em></strong>)</p>
+<ol>
+<li><p>Download the latest stable release from <a href="http://mesos.apache.org/downloads/">Apache</a> (<strong><em>Recommended</em></strong>)</p>
 
-<pre><code>$ wget http://www.apache.org/dist/mesos/0.26.0/mesos-0.26.0.tar.gz
-$ tar -zxf mesos-0.26.0.tar.gz
-</code></pre>
-
-<p>2. Clone the Mesos git <a href="https://git-wip-us.apache.org/repos/asf/mesos.git">repository</a> (<strong><em>Advanced Users Only</em></strong>)</p>
-
-<pre><code>$ git clone https://git-wip-us.apache.org/repos/asf/mesos.git
-</code></pre>
+<pre><code> $ wget http://www.apache.org/dist/mesos/0.24.0/mesos-0.24.0.tar.gz
+ $ tar -zxf mesos-0.24.0.tar.gz
+</code></pre></li>
+<li><p>Clone the Mesos git <a href="https://git-wip-us.apache.org/repos/asf/mesos.git">repository</a> (<strong><em>Advanced Users Only</em></strong>)</p>
+
+<pre><code> $ git clone https://git-wip-us.apache.org/repos/asf/mesos.git
+</code></pre></li>
+</ol>
 
-<p><em>NOTE: If you have problems running the above commands, you may need to first run through the </em><strong>System Requirements</strong><em> section below to install the <code>wget</code>, <code>tar</code>, and <code>git</code> utilities for your system.</em></p>
 
 <h2>System Requirements</h2>
 
@@ -112,190 +112,165 @@ $ tar -zxf mesos-0.26.0.tar.gz
 
 <p>Following are the instructions for stock Ubuntu 14.04. If you are using a different OS, please install the packages accordingly.</p>
 
-<pre><code># Update the packages.
-$ sudo apt-get update
-
-# Install a few utility tools.
-$ sudo apt-get install -y tar wget git
+<pre><code>    # Update the packages.
+    $ sudo apt-get update
 
-# Install the latest OpenJDK.
-$ sudo apt-get install -y openjdk-7-jdk
+    # Install the latest OpenJDK.
+    $ sudo apt-get install -y openjdk-7-jdk
 
-# Install autotools (Only necessary if building from git repository).
-$ sudo apt-get install -y autoconf libtool
+    # Install autotools (Only necessary if building from git repository).
+    $ sudo apt-get install -y autoconf libtool
 
-# Install other Mesos dependencies.
-$ sudo apt-get -y install build-essential python-dev python-boto libcurl4-nss-dev libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev
+    # Install other Mesos dependencies.
+    $ sudo apt-get -y install build-essential python-dev python-boto libcurl4-nss-dev libsasl2-dev maven libapr1-dev libsvn-dev
 </code></pre>
 
-<h3>Mac OS X Yosemite &amp; El Capitan</h3>
+<h3>Mac OS X Yosemite</h3>
 
-<p>Following are the instructions for stock Mac OS X Yosemite and El Capitan. If you are using a different OS, please install the packages accordingly.</p>
+<p>Following are the instructions for stock Mac OS X Yosemite. If you are using a different OS, please install the packages accordingly.</p>
 
-<pre><code># Install Command Line Tools.
-$ xcode-select --install
+<pre><code>    # Install Command Line Tools.
+    $ xcode-select --install
 
-# Install Homebrew.
-$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+    # Install Homebrew.
+    $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 
-# Install libraries.
-$ brew install wget git autoconf automake libtool subversion maven
+    # Install libraries.
+    $ brew install autoconf automake libtool subversion maven
 </code></pre>
 
-<p><em>NOTE: When upgrading from Yosemite to El Capitan, make sure to rerun <code>xcode-select --install</code> after the upgrade.</em></p>
-
 <h3>CentOS 6.6</h3>
 
 <p>Following are the instructions for stock CentOS 6.6. If you are using a different OS, please install the packages accordingly.</p>
 
-<pre><code># Install a recent kernel for full support of process isolation.
-$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
-$ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
-$ sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
-
-# Make the just installed kernel the one booted by default, and reboot.
-$ sudo sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
-$ sudo reboot
-
-# Install a few utility tools. This also forces an update of `nss`,
-# which is necessary for the Java bindings to build properly.
-$ sudo yum install -y tar wget git which nss
-
-# 'Mesos &gt; 0.21.0' requires a C++ compiler with full C++11 support,
-# (e.g. GCC &gt; 4.8) which is available via 'devtoolset-2'.
-# Fetch the Scientific Linux CERN devtoolset repo file.
-$ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
-
-# Import the CERN GPG key.
-$ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
-
-# Fetch the Apache Maven repo file.
-$ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
-
-# 'Mesos &gt; 0.21.0' requires 'subversion &gt; 1.8' devel package, which is
-# not available in the default repositories.
-# Create a WANdisco SVN repo file to install the correct version:
-$ sudo cat &gt; /etc/yum.repos.d/wandisco-svn.repo &lt;&lt;EOF
-[WANdiscoSVN]
-name=WANdisco SVN Repo 1.8
-enabled=1
-baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
-gpgcheck=1
-gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
-EOF
-
-# Install essential development tools.
-$ sudo yum groupinstall -y "Development Tools"
-
-# Install 'devtoolset-2-toolchain' which includes GCC 4.8.2 and related packages.
-$ sudo yum install -y devtoolset-2-toolchain
-
-# Install other Mesos dependencies.
-$ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
-
-# Enter a shell with 'devtoolset-2' enabled.
-$ scl enable devtoolset-2 bash
-$ g++ --version  # Make sure you've got GCC &gt; 4.8!
+<pre><code>    # Install a recent kernel for full support of process isolation.
+    $ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
+    $ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
+    $ sudo yum --enablerepo=elrepo-kernel install -y kernel-lt
+
+    # Make the just installed kernel the one booted by default, and reboot.
+    $ sudo sed -i 's/default=1/default=0/g' /boot/grub/grub.conf
+    $ sudo reboot
+
+    # Install a few utility tools. This also forces an update of `nss`,
+    # which is necessary for the Java bindings to build properly.
+    $ sudo yum install -y tar wget which nss
+
+    # 'Mesos &gt; 0.21.0' requires a C++ compiler with full C++11 support,
+    # (e.g. GCC &gt; 4.8) which is available via 'devtoolset-2'.
+    # Fetch the Scientific Linux CERN devtoolset repo file.
+    $ sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
+
+    # Import the CERN GPG key.
+    $ sudo rpm --import http://linuxsoft.cern.ch/cern/centos/7/os/x86_64/RPM-GPG-KEY-cern
+
+    # Fetch the Apache Maven repo file.
+    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
+
+    # 'Mesos &gt; 0.21.0' requires 'subversion &gt; 1.8' devel package, which is
+    # not available in the default repositories.
+    # Add the WANdisco SVN repo file: '/etc/yum.repos.d/wandisco-svn.repo' with content:
+
+      [WANdiscoSVN]
+      name=WANdisco SVN Repo 1.8
+      enabled=1
+      baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/
+      gpgcheck=1
+      gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
+
+    # Install essential development tools.
+    $ sudo yum groupinstall -y "Development Tools"
+
+    # Install 'devtoolset-2-toolchain' which includes GCC 4.8.2 and related packages.
+    $ sudo yum install -y devtoolset-2-toolchain
+
+    # Install other Mesos dependencies.
+    $ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
+
+    # Enter a shell with 'devtoolset-2' enabled.
+    $ scl enable devtoolset-2 bash
+    $ g++ --version  # Make sure you've got GCC &gt; 4.8!
 </code></pre>
 
 <h3>CentOS 7.1</h3>
 
 <p>Following are the instructions for stock CentOS 7.1. If you are using a different OS, please install the packages accordingly.</p>
 
-<pre><code># Install a few utility tools
-$ sudo yum install -y tar wget git
+<pre><code>    # Install a few utility tools
+    $ sudo yum install -y tar wget
 
-# Fetch the Apache Maven repo file.
-$ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
+    # Fetch the Apache Maven repo file.
+    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
 
-# Install the EPEL repo so that we can pull in 'libserf-1' as part of our
-# subversion install below.
-$ sudo yum install -y epel-release
-
-# 'Mesos &gt; 0.21.0' requires 'subversion &gt; 1.8' devel package,
-# which is not available in the default repositories.
-# Create a WANdisco SVN repo file to install the correct version:
-$ sudo cat &gt; /etc/yum.repos.d/wandisco-svn.repo &lt;&lt;EOF
-[WANdiscoSVN]
-name=WANdisco SVN Repo 1.9
-enabled=1
-baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
-gpgcheck=1
-gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
-EOF
-
-# Parts of Mesos require systemd in order to operate. However, Mesos
-# only supports versions of systemd that contain the 'Delegate' flag.
-# This flag was first introduced in 'systemd version 218', which is
-# lower than the default version installed by centos. Luckily, centos
-# 7.1 has a patched 'systemd &lt; 218' that contains the 'Delegate' flag.
-# Explicity update systemd to this patched version.
-$ sudo yum update systemd
+    # 'Mesos &gt; 0.21.0' requires 'subversion &gt; 1.8' devel package, which is
+    # not available in the default repositories.
+    # Add the WANdisco SVN repo file: '/etc/yum.repos.d/wandisco-svn.repo' with content:
+
+      [WANdiscoSVN]
+      name=WANdisco SVN Repo 1.9
+      enabled=1
+      baseurl=http://opensource.wandisco.com/centos/7/svn-1.9/RPMS/$basearch/
+      gpgcheck=1
+      gpgkey=http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
 
-# Install essential development tools.
-$ sudo yum groupinstall -y "Development Tools"
+    # Install essential development tools.
+    $ sudo yum groupinstall -y "Development Tools"
 
-# Install other Mesos dependencies.
-$ sudo yum install -y apache-maven python-devel java-1.8.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
+    # Install other Mesos dependencies.
+    $ sudo yum install -y apache-maven python-devel java-1.7.0-openjdk-devel zlib-devel libcurl-devel openssl-devel cyrus-sasl-devel cyrus-sasl-md5 apr-devel subversion-devel apr-util-devel
 </code></pre>
 
 <h2>Building Mesos</h2>
 
-<pre><code># Change working directory.
-$ cd mesos
+<pre><code>    # Change working directory.
+    $ cd mesos
 
-# Bootstrap (Only required if building from git repository).
-$ ./bootstrap
+    # Bootstrap (Only required if building from git repository).
+    $ ./bootstrap
 
-# Configure and build.
-$ mkdir build
-$ cd build
-$ ../configure
-$ make
+    # Configure and build.
+    $ mkdir build
+    $ cd build
+    $ ../configure
+    $ make
 </code></pre>
 
 <p>In order to speed up the build and reduce verbosity of the logs, you can append <code>-j &lt;number of cores&gt; V=0</code> to <code>make</code>.</p>
 
-<pre><code># Run test suite.
-$ make check
+<pre><code>    # Run test suite.
+    $ make check
 
-# Install (Optional).
-$ make install
+    # Install (Optional).
+    $ make install
 </code></pre>
 
 <h2>Examples</h2>
 
-<p>Mesos comes bundled with example frameworks written in C++, Java and Python.
-The framework binaries will only be available after running <code>make check</code>, as
-described in the <strong><em>Building Mesos</em></strong> section above.</p>
+<p>Mesos comes bundled with example frameworks written in C++, Java and Python.</p>
 
-<pre><code># Change into build directory.
-$ cd build
+<pre><code>    # Change into build directory.
+    $ cd build
 
-# Start mesos master (Ensure work directory exists and has proper permissions).
-$ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
+    # Start mesos master (Ensure work directory exists and has proper permissions).
+    $ ./bin/mesos-master.sh --ip=127.0.0.1 --work_dir=/var/lib/mesos
 
-# Start mesos slave.
-$ ./bin/mesos-slave.sh --master=127.0.0.1:5050
+    # Start mesos slave.
+    $ ./bin/mesos-slave.sh --master=127.0.0.1:5050
 
-# Visit the mesos web page.
-$ http://127.0.0.1:5050
+    # Visit the mesos web page.
+    $ http://127.0.0.1:5050
 
-# Run C++ framework (Exits after successfully running some tasks.).
-$ ./src/test-framework --master=127.0.0.1:5050
+    # Run C++ framework (Exits after successfully running some tasks.).
+    $ ./src/test-framework --master=127.0.0.1:5050
 
-# Run Java framework (Exits after successfully running some tasks.).
-$ ./src/examples/java/test-framework 127.0.0.1:5050
+    # Run Java framework (Exits after successfully running some tasks.).
+    $ ./src/examples/java/test-framework 127.0.0.1:5050
 
-# Run Python framework (Exits after successfully running some tasks.).
-$ ./src/examples/python/test-framework 127.0.0.1:5050
+    # Run Python framework (Exits after successfully running some tasks.).
+    $ ./src/examples/python/test-framework 127.0.0.1:5050
 </code></pre>
 
-<p><em>Note: These examples assume you are running Mesos on your local machine.
-Following them will not allow you to access the Mesos web page in a production
-environment (e.g. on AWS). For that you will need to specify the actual IP of
-your host when launching the Mesos master and ensure your firewall settings
-allow access to port 5050 from the outside world.</em></p>
+<p><em>NOTE: To build the example frameworks, make sure you build the test suite by doing <code>make check</code>.</em></p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/high-availability/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/high-availability/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/high-availability/index.html (original)
+++ mesos/site/publish/documentation/high-availability/index.html Tue Jan 19 17:00:59 2016
@@ -81,7 +81,7 @@
 		<p>See our <a href="/community/">community</a> page for more details.</p>
 	</div>
 	<div class="col-md-8">
-		<h1>Mesos High-Availability Mode</h1>
+		<h1>Mesos High Availability Mode</h1>
 
 <p>If the Mesos master is unavailable, existing tasks can continue to execute, but new resources cannot be allocated and new tasks cannot be launched. To reduce the chance of this situation occurring, Mesos has a high-availability mode that uses multiple Mesos masters: one active master (called the <em>leader</em> or leading master) and several <em>backups</em> in case it fails. The masters elect the leader, with <a href="http://zookeeper.apache.org/">Apache ZooKeeper</a> both coordinating the election and handling leader detection by masters, slaves, and scheduler drivers. More information regarding <a href="http://zookeeper.apache.org/doc/trunk/recipes.html#sc_leaderElection">how leader election works</a> is available on the Apache Zookeeper website.</p>
 
@@ -98,7 +98,7 @@
 <ul>
 <li><p>Start the mesos-master binaries using the <code>--zk</code> flag, e.g. <code>--zk=zk://host1:port1,host2:port2,.../path</code></p></li>
 <li><p>Start the mesos-slave binaries with <code>--master=zk://host1:port1,host2:port2,.../path</code></p></li>
-<li><p>Start any framework schedulers using the same <code>zk</code> path as in the last two steps. The SchedulerDriver must be constructed with this path, as shown in the <a href="/documentation/latest/app-framework-development-guide/">Framework Development Guide</a>.</p></li>
+<li><p>Start any framework schedulers using the same <code>zk</code> path as in the last two steps. The SchedulerDriver must be constructed with this path, as shown in the <a href="http://mesos.apache.org/documentation/latest/app-framework-development-guide/">Framework Development Guide</a>.</p></li>
 </ul>
 </li>
 </ol>
@@ -106,7 +106,7 @@
 
 <p>From now on, the Mesos masters and slaves all communicate with ZooKeeper to find out which master is the current leading master. This is in addition to the usual communication between the leading master and the slaves.</p>
 
-<p>Refer to the <a href="/documentation/latest/app-framework-development-guide/">Scheduler API</a> for how to deal with leadership changes.</p>
+<p>Refer to the <a href="http://mesos.apache.org/documentation/latest/app-framework-development-guide/">Scheduler API</a> for how to deal with leadership changes.</p>
 
 <h2>Component Disconnection Handling</h2>
 
@@ -134,7 +134,7 @@
 
 <ul>
 <li><p>The slave fails health checks from the leader.</p></li>
-<li><p>The leader marks the slave as deactivated and sends its tasks to the LOST state. The  <a href="/documentation/latest/app-framework-development-guide/">Framework Development Guide</a> describes these various task states.</p></li>
+<li><p>The leader marks the slave as deactivated and sends its tasks to the LOST state. The  <a href="http://mesos.apache.org/documentation/latest/app-framework-development-guide/">Framework Development Guide</a> describes these various task states.</p></li>
 <li><p>Deactivated slaves may not re-register with the leader and are told to shut down upon any post-deactivation communication.</p></li>
 </ul>
 

Modified: mesos/site/publish/documentation/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/index.html (original)
+++ mesos/site/publish/documentation/index.html Tue Jan 19 17:00:59 2016
@@ -95,9 +95,7 @@
 
 <ul>
 <li><a href="/documentation/latest/getting-started/">Getting Started</a> for basic instructions on compiling and installing Mesos.</li>
-<li><a href="/documentation/latest/upgrades/">Upgrades</a> for upgrading a Mesos cluster.</li>
 <li><a href="/documentation/latest/configuration/">Configuration</a> for command-line arguments.</li>
-<li><a href="/documentation/latest/containerizer-internals">Containerizer Internals</a> for implementation details of containerizers.</li>
 <li><a href="/documentation/latest/containerizer/">Mesos Containerizer</a> default containerizer, supports both Linux and POSIX systems.</li>
 <li><a href="/documentation/latest/docker-containerizer/">Docker Containerizer</a> for launching a Docker image as a Task, or as an Executor.</li>
 <li><a href="/documentation/latest/external-containerizer/">External Containerizer</a> for custom containerization implementations.</li>
@@ -114,7 +112,6 @@
 <li><a href="/documentation/latest/maintenance/">Maintenance</a> for performing maintenance on a Mesos cluster.</li>
 <li><a href="/documentation/latest/tools/">Tools</a> for setting up and running a Mesos cluster.</li>
 <li><a href="/documentation/latest/ssl/">SSL</a> for enabling and enforcing SSL communication.</li>
-<li><a href="/documentation/latest/mesos-provisioner/">Mesos Image Provisioner</a> for provisioning container filesystems from different image formats.</li>
 </ul>
 
 
@@ -126,7 +123,7 @@
 <li><a href="/documentation/latest/networking-for-mesos-managed-containers/">Networking for Mesos-managed Containers</a></li>
 <li><a href="/documentation/latest/oversubscription/">Oversubscription</a> for how to configure Mesos to take advantage of unused resources to launch &ldquo;best-effort&rdquo; tasks.</li>
 <li><a href="/documentation/latest/persistent-volume/">Persistent Volume</a> for how to allow tasks to access persistent storage resources.</li>
-<li><a href="/documentation/latest/reservation/">Reservation</a> for how operators and frameworks can reserve resources for use by a role.</li>
+<li><a href="/documentation/latest/reservation/">Reservation</a> for how to configure Mesos to allow slaves to reserve resources.</li>
 </ul>
 
 
@@ -134,7 +131,6 @@
 
 <ul>
 <li><a href="/documentation/latest/frameworks/">Mesos frameworks</a> for a list of apps built on top of Mesos and instructions on how to run them.</li>
-<li><a href="/documentation/latest/sandbox/">Sandbox</a> describes a useful debugging arena for most users.</li>
 </ul>
 
 

Modified: mesos/site/publish/documentation/latest/allocation-module/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/allocation-module/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/allocation-module/index.html (original)
+++ mesos/site/publish/documentation/latest/allocation-module/index.html Tue Jan 19 17:00:59 2016
@@ -146,7 +146,7 @@ mesos::modules::Module&lt;Allocator&gt;
     createExternalAllocator);
 </code></pre>
 
-<p>Refer to the <a href="/documentation/latest/modules/">Mesos Modules documentation</a> for instructions on how to compile and load a module in Mesos master.</p>
+<p>Refer to the <a href="http://mesos.apache.org/documentation/latest/modules/">Mesos Modules documentation</a> for instructions how to compile and load a module in Mesos master.</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/latest/architecture/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/architecture/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/architecture/index.html (original)
+++ mesos/site/publish/documentation/latest/architecture/index.html Tue Jan 19 17:00:59 2016
@@ -85,11 +85,11 @@
 
 <p><img src="/assets/img/documentation/architecture3.jpg" alt="Mesos Architecture" /></p>
 
-<p>The above figure shows the main components of Mesos.  Mesos consists of a <em>master</em> daemon that manages <em>slave</em> daemons running on each cluster node, and <em>Mesos frameworks</em> that run <em>tasks</em> on these slaves.</p>
+<p>The above figure shows the main components of Mesos.  Mesos consists of a <em>master</em> daemon that manages <em>slave</em> daemons running on each cluster node, and <em>mesos applications</em> (also called <em>frameworks</em>) that run <em>tasks</em> on these slaves.</p>
 
-<p>The master enables fine-grained sharing of resources (CPU, RAM, &hellip;) across frameworks by making them <em>resource offers</em>. Each resource offer contains a list of &lt;slave ID, resource1: amount1, resource2, amount2, &hellip;&gt;.  The master decides <em>how many</em> resources to offer to each framework according to a given organizational policy, such as fair sharing or strict priority. To support a diverse set of policies, the master employs a modular architecture that makes it easy to add new allocation modules via a plugin mechanism.</p>
+<p>The master enables fine-grained sharing of resources (cpu, ram, &hellip;) across applications by making them <em>resource offers</em>. Each resource offer contains a list of &lt;slave ID, resource1: amount1, resource2, amount2, &hellip;&gt;.  The master decides <em>how many</em> resources to offer to each framework according to a given organizational policy, such as fair sharing, or strict priority. To support a diverse set of policies, the master employs a modular architecture that makes it easy to add new allocation modules via a plugin mechanism.</p>
 
-<p>A framework running on top of Mesos consists of two components: a <em>scheduler</em> that registers with the master to be offered resources, and an <em>executor</em> process that is launched on slave nodes to run the framework&rsquo;s tasks (see the <a href="/documentation/latest/app-framework-development-guide/">App/Framework development guide</a> for more details about framework schedulers and executors). While the master determines <strong>how many</strong> resources are offered to each framework, the frameworks' schedulers select <strong>which</strong> of the offered resources to use. When a frameworks accepts offered resources, it passes to Mesos a description of the tasks it wants to run on them. In turn, Mesos launches the tasks on the corresponding slaves.</p>
+<p>A framework running on top of Mesos consists of two components: a <em>scheduler</em> that registers with the master to be offered resources, and an <em>executor</em> process that is launched on slave nodes to run the framework&rsquo;s tasks (see the <a href="/documentation/latest/app-framework-development-guide/">App/Framework development guide</a> for more details about application schedulers and executors). While the master determines <strong>how many</strong> resources are offered to each framework, the frameworks' schedulers select <strong>which</strong> of the offered resources to use. When a frameworks accepts offered resources, it passes to Mesos a description of the tasks it wants to run on them. In turn, Mesos launches the tasks on the corresponding slaves.</p>
 
 <h2>Example of resource offer</h2>
 

Modified: mesos/site/publish/documentation/latest/authentication/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/authentication/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/authentication/index.html (original)
+++ mesos/site/publish/documentation/latest/authentication/index.html Tue Jan 19 17:00:59 2016
@@ -100,7 +100,7 @@
 
 <h2>Configuration</h2>
 
-<p>The <a href="/documentation/latest/configuration/">configuration options</a> that are used by the authentication mechanism are as follows:</p>
+<p>The <a href="http://mesos.apache.org/documentation/latest/configuration/">configuration options</a> that are used by the authentication mechanism are as follows:</p>
 
 <h3>Masters</h3>
 

Modified: mesos/site/publish/documentation/latest/authorization/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/authorization/index.html?rev=1725568&r1=1725567&r2=1725568&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/authorization/index.html (original)
+++ mesos/site/publish/documentation/latest/authorization/index.html Tue Jan 19 17:00:59 2016
@@ -86,22 +86,22 @@
 <p>Mesos 0.20.0 adds support for framework authorization. Authorization allows</p>
 
 <ol>
-<li>Frameworks to (re-)register with authorized <em>roles</em>.</li>
-<li>Frameworks to launch tasks/executors as authorized <em>users</em>.</li>
-<li>Authorized <em>principals</em> to shutdown frameworks through the &ldquo;/teardown&rdquo; HTTP endpoint.</li>
+<li>Frameworks to (re-)register with authorized <code>roles</code>.</li>
+<li>Frameworks to launch tasks/executors as authorized <code>users</code>.</li>
+<li>Authorized <code>principals</code> to shutdown framework(s) through &ldquo;/shutdown&rdquo; HTTP endpoint.</li>
 </ol>
 
 
 <h2>ACLs</h2>
 
-<p>Authorization is implemented via Access Control Lists (ACLs). For each of the 3 cases described above, ACLs can be used to restrict access. Operators can setup ACLs in JSON format. See <a href="https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto">mesos.proto</a> for details.</p>
+<p>Authorization is implemented via Access Control Lists (ACLs). For each of the 3 cases described above there is a corresponding ACL(s) that can be set to restrict access. Operators can setup ACLs in JSON format. See <a href="https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto">mesos.proto</a> for details.</p>
 
 <p>Each ACL specifies a set of <code>Subjects</code> that can perform an <code>Action</code> on a set of <code>Objects</code>.</p>
 
 <p>The currently supported <code>Actions</code> are:</p>
 
 <ol>
-<li>&ldquo;register_frameworks&rdquo;: Register frameworks</li>
+<li>&ldquo;register_frameworks&rdquo;: Register Frameworks</li>
 <li>&ldquo;run_tasks&rdquo;: Run tasks/executors</li>
 <li>&ldquo;shutdown_frameworks&rdquo;: Shutdown frameworks</li>
 </ol>
@@ -123,29 +123,29 @@
 <p>The currently supported <code>Objects</code> are:</p>
 
 <ol>
-<li>&ldquo;roles&rdquo;: Resource <a href="/documentation/latest/roles/">roles</a> that framework can register with (used by &ldquo;register_frameworks&rdquo; actions)</li>
-<li>&ldquo;users&rdquo;: Unix user to launch the task/executor as (used by &ldquo;run_tasks&rdquo; actions)</li>
-<li>&ldquo;framework_principals&rdquo;: Framework principals that can be shutdown by HTTP POST (used by &ldquo;shutdown_frameworks&rdquo; actions).</li>
+<li>&ldquo;roles&rdquo;: Resource <a href="/documentation/latest/roles/">roles</a> that framework can register with (used by &ldquo;register_frameworks&rdquo; action)</li>
+<li>&ldquo;users&rdquo;: Unix user to launch the task/executor as (used by &ldquo;run_tasks&rdquo; action)</li>
+<li>&ldquo;framework_principals&rdquo;: Framework principals that can be shutdown by HTTP POST (used by &ldquo;shutdown_frameworks&rdquo; action).</li>
 </ol>
 
 
-<blockquote><p>NOTE: Both <code>Subjects</code> and <code>Objects</code> can be either an array of strings or one of the special values <code>ANY</code> or <code>NONE</code>.</p></blockquote>
+<blockquote><p>NOTE: Both <code>Subjects</code> and <code>Objects</code> can take a list of strings or special values (<code>ANY</code> or <code>NONE</code>).</p></blockquote>
 
 <h2>How does it work?</h2>
 
 <p>The Mesos master checks the ACLs to verify whether a request is authorized or not.</p>
 
-<p>For example, when a framework (re-)registers with the master, &ldquo;register_frameworks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to receive offers for the given resource role (<code>FrameworkInfo.role</code>). If not authorized, the framework is not allowed to (re-)register and gets an <code>Error</code> message back (which aborts the scheduler driver).</p>
+<p>For example, when a framework (re-)registers with the master, the &ldquo;register_frameworks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to receive offers for the given resource role (<code>FrameworkInfo.role</code>). If not authorized, the framework is not allowed to (re-)register and gets an <code>Error</code> message back (which aborts the scheduler driver).</p>
 
-<p>Similarly, when a framework launches a task, &ldquo;run_tasks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to run the task/executor as the given user. If not authorized, the launch is rejected and the framework gets a TASK_LOST.</p>
+<p>Similarly, when a framework launches a task(s), &ldquo;run_tasks&rdquo; ACLs are checked to see if the framework (<code>FrameworkInfo.principal</code>) is authorized to run the task/executor as the given <code>user</code>. If not authorized, the launch is rejected and the framework gets a TASK_LOST.</p>
 
-<p>In the same vein, when a user/principal attempts to shutdown a framework using the &ldquo;/teardown&rdquo; HTTP endpoint on the master, &ldquo;shutdown_frameworks&rdquo; ACLs are checked to see if the principal is authorized to shutdown the given framework. If not authorized, the shutdown is rejected and the user receives an <code>Unauthorized</code> HTTP response.</p>
+<p>In the same vein, when a user/principal attempts to shutdown a framework through the &ldquo;/teardown&rdquo; HTTP endpoint on the master, &ldquo;shutdown_frameworks&rdquo; ACLs are checked to see if the <code>principal</code> is authorized to shutdown the given framework. If not authorized, the shutdown is rejected and the user receives an <code>Unauthorized</code> HTTP response.</p>
 
 <p>There are couple of important things to note:</p>
 
 <ol>
-<li><p>ACLs are matched in the order that they are specified. In other words, the first matching ACL determines whether a request is authorized or not.</p></li>
-<li><p>If no ACLs match a request, whether the request is authorized or not is determined by the <code>ACLs.permissive</code> field. This is &ldquo;true&rdquo; by default &ndash; i.e., non-matching requests are authorized.</p></li>
+<li><p>ACLs are matched in the order that they are setup. In other words, the first matching ACL determines whether a request is authorized or not.</p></li>
+<li><p>If none of the specified ACLs match the given request, whether the request is authorized or not is defined by <code>ACLs.permissive</code> field. By default this is &ldquo;true&rdquo; i.e., a non-matching request is authorized.</p></li>
 </ol>
 
 
@@ -154,140 +154,121 @@
 <ol>
 <li><p>Frameworks <code>foo</code> and <code>bar</code> can run tasks as user <code>alice</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "values": ["foo", "bar"] },
-                    "users": { "values": ["alice"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "values": ["foo", "bar"] },
+                        "users": { "values": ["alice"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>Any framework can run tasks as user <code>guest</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "type": "ANY" },
-                    "users": { "values": ["guest"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "type": "ANY" },
+                        "users": { "values": ["guest"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>No framework can run tasks as <code>root</code>.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "type": "NONE" },
-                    "users": { "values": ["root"] }
-                  }
-                ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "type": "NONE" },
+                        "users": { "values": ["root"] }
+                      }
+                    ]
+     }
 </code></pre></li>
 <li><p>Framework <code>foo</code> can run tasks only as user <code>guest</code> and no other user.</p>
 
-<pre><code> {
-   "run_tasks": [
-                  {
-                    "principals": { "values": ["foo"] },
-                    "users": { "values": ["guest"] }
-                  },
-                  {
-                    "principals": { "values": ["foo"] },
-                    "users": { "type": "NONE" }
-                  }
-                ]
- }
-</code></pre></li>
-<li><p>Framework <code>foo</code> can register with the <code>analytics</code> and <code>ads</code> roles.</p>
-
-<pre><code> {
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics", "ads"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>Only framework <code>foo</code> and no one else can register with the <code>analytics</code> role.</p>
-
-<pre><code> {
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            },
-                            {
-                              "principals": {
-                                "type": "NONE"
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>Framework <code>foo</code> can only register with the <code>analytics</code> role but no other roles. Also, no other framework can register with any roles or run tasks.</p>
-
-<pre><code> {
-   "permissive": false,
-   "register_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["foo"]
-                              },
-                              "roles": {
-                                "values": ["analytics"]
-                              }
-                            }
-                          ]
- }
-</code></pre></li>
-<li><p>The <code>ops</code> principal can shutdown any framework using the &ldquo;/teardown&rdquo; HTTP endpoint. No other framework can register with any roles or run tasks.</p>
-
-<pre><code> {
-   "permissive": false,
-   "shutdown_frameworks": [
-                            {
-                              "principals": {
-                                "values": ["ops"]
-                              },
-                              "framework_principals": {
-                                "type": "ANY"
-                              }
-                            }
-                          ]
- }
+<pre><code>     {
+       "run_tasks": [
+                      {
+                        "principals": { "values": [ "foo" ] },
+                        "users": { "values": ["guest"] }
+                      },
+                      {
+                        "principals": { "values": [ "foo" ] },
+                        "users": { "type": "NONE" }
+                      }
+                    ]
+     }
+</code></pre></li>
+<li><p>Framework <code>foo</code> can register with <code>analytics</code> and <code>ads</code> roles.</p>
+
+<pre><code>     {
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics", "ads"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Only framework <code>foo</code> and no one else can register with <code>analytics</code> role.</p>
+
+<pre><code>     {
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics"] }
+                                },
+                                {
+                                  "principals": { "type": "NONE" },
+                                  "roles": { "values": ["analytics"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Framework <code>foo</code> can only register with <code>analytics</code> role but no other roles. Also, no other framework can register with any roles.</p>
+
+<pre><code>     {
+       "permissive" : false,
+
+       "register_frameworks": [
+                                {
+                                  "principals": { "values": ["foo"] },
+                                  "roles": { "values": ["analytics"] }
+                                }
+                              ]
+     }
+</code></pre></li>
+<li><p>Only <code>ops</code> principal can shutdown any frameworks through &ldquo;/teardown&rdquo; HTTP endpoint.</p>
+
+<pre><code>     {
+       "permissive" : false,
+
+       "shutdown_frameworks": [
+                                {
+                                  "principals": { "values": ["ops"] },
+                                  "framework_principals": { "type": "ANY" }
+                                }
+                              ]
+     }
 </code></pre></li>
 </ol>
 
 
-<h2>Configuring authorization</h2>
+<h2>Enabling authorization</h2>
 
-<p>Authorization is configured by specifying the <code>--acls</code> flag when starting the master:</p>
+<p>As part of this feature, a new flag was added to the master.</p>
 
 <ul>
-<li><code>acls</code>:  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 &lsquo;file:///path/to/file&rsquo;
-         or &lsquo;/path/to/file&rsquo;.
-         See the ACLs protobuf in mesos.proto for the expected format.</li>
+<li><code>acls</code> :  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 &lsquo;file:///path/to/file&rsquo;
+          or &lsquo;/path/to/file&rsquo;.
+          See the ACLs protobuf in mesos.proto for the expected format.</li>
 </ul>
 
 
-<p>For more information on master command-line flags, see the
-<a href="/documentation/latest/configuration/">configuration</a> page.</p>
+<p><strong>For the complete list of master options: ./mesos-master.sh &ndash;help</strong></p>
 
 	</div>
 </div>