You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by mp...@apache.org on 2016/03/08 06:37:26 UTC

svn commit: r1734022 [5/6] - in /mesos/site/publish: ./ blog/ blog/mesos-0-27-1-released/ blog/mesos-0-27-2-released/ documentation/ documentation/allocation-module/ documentation/app-framework-development-guide/ documentation/architecture/ documentati...

Modified: mesos/site/publish/documentation/quota/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/quota/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/quota/index.html (original)
+++ mesos/site/publish/documentation/quota/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Quota</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -145,9 +145,9 @@ introducing preemption for running tasks
 
 <h1>Operator HTTP Endpoint</h1>
 
-<p>The master <code>/quota</code> HTTP endpoint enables operators to configure quotas. The
-endpoint currently offers a REST-like interface and supports the
-following operations:</p>
+<p>The master <a href="/documentation/latest/./endpoints/master/quota/">/quota</a> HTTP endpoint enables operators
+to configure quotas. The endpoint currently offers a REST-like interface and
+supports the following operations:</p>
 
 <ul>
 <li><a href="#setRequest">Setting</a> a new quota with POST.</li>

Modified: mesos/site/publish/documentation/reconciliation/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/reconciliation/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/reconciliation/index.html (original)
+++ mesos/site/publish/documentation/reconciliation/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Reconciliation</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/release-guide/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/release-guide/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/release-guide/index.html (original)
+++ mesos/site/publish/documentation/release-guide/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Release Guide</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -104,7 +104,7 @@ e.g.,<br>
 </ul>
 </li>
 <li><p>Submit your GPG public key to a keyserver, e.g., <a href="https://pgp.mit.edu">MIT PGP Public Key Server</a>.</p></li>
-<li><p>Add your GPG fingerprint to your <a href="https://id.apache.org/">Apache account</a>.</p></li>
+<li><p>Add your GPG fingerprint (<code>gpg --fingerprint &lt;your name&gt;</code>) to your <a href="https://id.apache.org/">Apache account</a>.</p></li>
 <li><p>Create a Maven settings file (<code>~/.m2/settings.xml</code>) for the Apache
 servers where you must copy your encrypted Apache password which
 you can get from running <code>mvn --encrypt-password</code> (NOTE: you may
@@ -250,6 +250,10 @@ the result of the vote and the release.<
 </ol>
 
 
+<h2>Updating the wiki</h2>
+
+<p>Update the wiki entry, <a href="https://cwiki.apache.org/confluence/display/MESOS/Mesos+Release+Planning">Mesos Release Planning</a>.</p>
+
 <h2>Updating the website</h2>
 
 <ol>
@@ -277,10 +281,10 @@ for details on how to build and publish
 </ol>
 
 
-<h2>Set the release date</h2>
+<h2>Release the version on JIRA</h2>
 
 <ol>
-<li>Find the released Mesos version on https://issues.apache.org/jira/plugins/servlet/project-config/MESOS/versions, and &ldquo;release&rdquo; it with the correct release date.</li>
+<li>Find the released Mesos version on https://issues.apache.org/jira/plugins/servlet/project-config/MESOS/versions, and &ldquo;release&rdquo; it (click on &ldquo;settings&rdquo; &ndash;> &ldquo;Release&rdquo;) with the correct release date.</li>
 </ol>
 
 

Modified: mesos/site/publish/documentation/replicated-log-internals/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/replicated-log-internals/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/replicated-log-internals/index.html (original)
+++ mesos/site/publish/documentation/replicated-log-internals/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - The Mesos Replicated Log</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/reporting-a-bug/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/reporting-a-bug/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/reporting-a-bug/index.html (original)
+++ mesos/site/publish/documentation/reporting-a-bug/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Reporting An Issue</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -81,7 +81,7 @@
 		<p>See our <a href="/community/">community</a> page for more details.</p>
 	</div>
 	<div class="col-md-8">
-		<h1>Reporting an issue</h1>
+		<h1>Reporting an Issue</h1>
 
 <p>When reporting an issue (e.g. bug, improvement, feature request), please provide as much context as possible.</p>
 

Modified: mesos/site/publish/documentation/reservation/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/reservation/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/reservation/index.html (original)
+++ mesos/site/publish/documentation/reservation/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Reservation</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -123,21 +123,21 @@ That is, statically reserved resources c
 be unreserved. Dynamic reservation enables operators and authorized frameworks
 to reserve and unreserve resources after slave-startup.</p>
 
-<p>We require a <code>principal</code> from the operator or framework in order to
-authenticate/authorize the operations. Permissions are specified via the
-existing ACL mechanism. To use authorization with reserve/unreserve operations,
-the Mesos master must be configured with the desired ACLs. For more information,
-see the <a href="/documentation/latest/./authorization/">authorization documentation</a>.</p>
+<p>By default, frameworks and operators can reserve resources for any role, and can
+unreserve any dynamically reserved resources. <a href="/documentation/latest/./authorization/">Authorization</a>
+allows this behavior to be limited so that only particular roles can be reserved
+for, and only particular resources can be unreserved. For these operations to be
+authorized, the framework or operator should provide a <code>principal</code> to identify
+itself. To use authorization with reserve/unreserve operations, the Mesos master
+must be configured with the appropriate ACLs. For more information, see the
+<a href="/documentation/latest/./authorization/">authorization documentation</a>.</p>
 
 <ul>
 <li><code>Offer::Operation::Reserve</code> and <code>Offer::Operation::Unreserve</code> messages are
 available for <strong>frameworks</strong> to send back via the <code>acceptOffers</code> API as a
-response to a resource offer. Each framework may only reserve resources for
-its own role.</li>
+response to a resource offer.</li>
 <li><code>/reserve</code> and <code>/unreserve</code> HTTP endpoints allow <strong>operators</strong> to manage
-dynamic reservations through the master. Operators may currently reserve
-resources for any role, although this
-<a href="https://issues.apache.org/jira/browse/MESOS-4591">will change</a>.</li>
+dynamic reservations through the master.</li>
 </ul>
 
 
@@ -341,7 +341,8 @@ slave that hosts the desired resources;
 unreserved resources cannot be found on the slave). In this case, the principal
 included in the request will be the principal of an authorized operator rather
 than the principal of a framework registered under the <code>ads</code> role. We send an
-HTTP POST request to the <code>/reserve</code> HTTP endpoint like so:</p>
+HTTP POST request to the master&rsquo;s <a href="/documentation/latest/./endpoints/master/reserve/">/reserve</a>
+endpoint like so:</p>
 
 <pre><code>    $ curl -i \
       -u &lt;operator_principal&gt;:&lt;password&gt; \
@@ -387,12 +388,13 @@ reservation request is then forwarded as
 the resources are located. That asynchronous message may not be delivered, in
 which case no resources will be reserved. To determine if a reserve operation
 has succeeded, the user can examine the state of the appropriate Mesos slave
-(e.g., via the slave&rsquo;s <code>/state</code> HTTP endpoint).</p>
+(e.g., via the slave&rsquo;s <a href="/documentation/latest/./endpoints/slave/state/">/state</a> HTTP endpoint).</p>
 
 <h4><code>/unreserve</code> (since 0.25.0)</h4>
 
 <p>Suppose we want to unreserve the resources that we dynamically reserved above.
-We can send an HTTP POST request to the <code>/unreserve</code> HTTP endpoint like so:</p>
+We can send an HTTP POST request to the master&rsquo;s
+<a href="/documentation/latest/./endpoints/master/unreserve/">/unreserve</a> endpoint like so:</p>
 
 <pre><code>    $ curl -i \
       -u &lt;operator_principal&gt;:&lt;password&gt; \
@@ -444,7 +446,13 @@ master. The request is then forwarded as
 the resources are located. That asynchronous message may not be delivered, in
 which case no resources will be unreserved. To determine if an unreserve
 operation has succeeded, the user can examine the state of the appropriate Mesos
-slave (e.g., via the slave&rsquo;s <code>/state</code> HTTP endpoint).</p>
+slave (e.g., via the slave&rsquo;s <a href="/documentation/latest/./endpoints/slave/state/">/state</a> HTTP endpoint).</p>
+
+<h3>Listing Reservations</h3>
+
+<p>Information about the reserved resources at each slave in the cluster can be
+found by querying the <a href="/documentation/latest/./endpoints/master/slaves/">/slaves</a> master endpoint
+(under the <code>reserved_resources_full</code> key).</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/roadmap/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/roadmap/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/roadmap/index.html (original)
+++ mesos/site/publish/documentation/roadmap/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Roadmap</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/roles/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/roles/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/roles/index.html (original)
+++ mesos/site/publish/documentation/roles/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Roles</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -180,9 +180,9 @@ agent node are initially assigned to the
 <p>The <code>*</code> role behaves differently from non-default roles. For example, dynamic
 reservations can be used to reassign resources from the <code>*</code> role to a specific
 role, but not from one specific role to another specific role (without first
-unreserving the resource, e.g., using the <code>/unreserve</code> operator HTTP
-endpoint). Similarly, persistent volumes cannot be created on unreserved
-resources.</p>
+unreserving the resource, e.g., using the <a href="/documentation/latest/./endpoints/master/unreserve/">/unreserve</a>
+operator HTTP endpoint). Similarly, persistent volumes cannot be created on
+unreserved resources.</p>
 
 <h2>Invalid role</h2>
 

Modified: mesos/site/publish/documentation/sandbox/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/sandbox/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/sandbox/index.html (original)
+++ mesos/site/publish/documentation/sandbox/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Sandbox</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -221,7 +221,7 @@ endpoint running on the agent.</p>
 <h2>Sandbox size</h2>
 
 <p>The maximum size of the sandbox is dependent on the containerization of the
-executor and isolators :</p>
+executor and isolators:</p>
 
 <ul>
 <li>Mesos containerizer - For backwards compatibility, the Mesos containerizer

Modified: mesos/site/publish/documentation/scheduler-http-api/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/scheduler-http-api/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/scheduler-http-api/index.html (original)
+++ mesos/site/publish/documentation/scheduler-http-api/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Scheduler HTTP API</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -98,7 +98,7 @@
 
 <h2>Calls</h2>
 
-<p>The following calls are currently accepted by the master. The canonical source of this information is <a href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a> (NOTE: The protobuf definitions are subject to change before the beta API is finalized). Note that when sending JSON encoded Calls, schedulers should encode raw bytes in Base64 and strings in UTF-8.</p>
+<p>The following calls are currently accepted by the master. The canonical source of this information is <a href="https://github.com/apache/mesos/blob/master/include/mesos/v1/scheduler/scheduler.proto">scheduler.proto</a> (NOTE: The protobuf definitions are subject to change before the beta API is finalized). Note that when sending JSON encoded Calls, schedulers should encode raw bytes in Base64 and strings in UTF-8. All non-<code>SUBSCRIBE</code> calls should include the <code>Mesos-Stream-Id</code> header, explained in the <a href="#subscribe"><code>SUBSCRIBE</code></a> section. <code>SUBSCRIBE</code> calls should never include the <code>Mesos-Stream-Id</code> header.</p>
 
 <p><a id="recordio-response-format"></a></p>
 
@@ -147,7 +147,7 @@
 
 <p>This is the first step in the communication process between the scheduler and the master. This is also to be considered as subscription to the &ldquo;/scheduler&rdquo; events stream.</p>
 
-<p>To subscribe with the master, the scheduler sends a HTTP POST request with encoded  <code>SUBSCRIBE</code> message with the required FrameworkInfo. Note that if &ldquo;subscribe.framework_info.id&rdquo; is not set, master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream with RecordIO encoding, with the first event being <code>SUBSCRIBED</code> event (see details in <strong>Events</strong> section).</p>
+<p>To subscribe with the master, the scheduler sends a HTTP POST request with encoded  <code>SUBSCRIBE</code> message with the required FrameworkInfo. Note that if &ldquo;subscribe.framework_info.id&rdquo; is not set, master considers the scheduler as a new one and subscribes it by assigning it a FrameworkID. The HTTP response is a stream with RecordIO encoding, with the first event being <code>SUBSCRIBED</code> event (see details in <strong>Events</strong> section). The response also includes the <code>Mesos-Stream-Id</code> header, which is used by the master to uniquely identify the subscribed scheduler instance. This stream ID header should be included in all subsequent non-<code>SUBSCRIBE</code> calls sent over this subscription connection to the master. The value of <code>Mesos-Stream-Id</code> is guaranteed to be equal to or less than 128 bytes in length.</p>
 
 <pre><code>SUBSCRIBE Request (JSON):
 
@@ -165,9 +165,7 @@ Connection: close
       "framework_info"  : {
         "user" :  "foo",
         "name" :  "Example HTTP Framework"
-      },
-
-      "force" : true
+      }
   }
 }
 
@@ -176,6 +174,7 @@ HTTP/1.1 200 OK
 
 Content-Type: application/json
 Transfer-Encoding: chunked
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 &lt;event length&gt;
 {
@@ -188,7 +187,8 @@ Transfer-Encoding: chunked
 &lt;more events&gt;
 </code></pre>
 
-<p>Alternatively, if &ldquo;subscribe.framework_info.id&rdquo; is set, master considers this a request from an already subscribed scheduler reconnecting after a disconnection (e.g., due to failover or network disconnection) and responds with <code>SUBSCRIBED</code> event containing the same FrameworkID. The &ldquo;subscribe.force&rdquo; field describes how the master reacts when multiple scheduler instances (with the same framework id) attempt to subscribe with the master at the same time (e.g., due to network partition). See the semantics in <strong>Disconnections</strong> section below.</p>
+<p>Alternatively, if &ldquo;subscribe.framework_info.id&rdquo; is set, master considers this a request from an already subscribed scheduler reconnecting after a disconnection (e.g., due to master/scheduler failover or network disconnection) and responds
+with a <code>SUBSCRIBED</code> event. For further details, see the <strong>Disconnections</strong> section below.</p>
 
 <p>NOTE: In the old version of the API, (re-)registered callbacks also included MasterInfo, which contained information about the master the driver currently connected to. With the new API, since schedulers explicitly subscribe with the leading master (see details below in <strong>Master Detection</strong> section), it&rsquo;s not relevant anymore.</p>
 
@@ -196,6 +196,8 @@ Transfer-Encoding: chunked
 
 <p>Scheduler must make additional HTTP requests to the &ldquo;/scheduler&rdquo; endpoint only after it has opened a persistent connection to it by sending a <code>SUBSCRIBE</code> request and received a <code>SUBSCRIBED</code> response. Calls made without subscription will result in a &ldquo;403 Forbidden&rdquo; instead of a &ldquo;202 Accepted&rdquo; response. A scheduler might also receive a &ldquo;400 Bad Request&rdquo; response if the HTTP request is malformed (e.g., malformed HTTP headers).</p>
 
+<p>Note that the <code>Mesos-Stream-Id</code> header should <strong>never</strong> be included with a <code>SUBSCRIBE</code> call; the master will always provide a new unique stream ID for each subscription.</p>
+
 <h3>TEARDOWN</h3>
 
 <p>Sent by the scheduler when it wants to tear itself down. When Mesos receives this request it will shut down all executors (and consequently kill tasks) and remove persistent volumes (if requested). It then removes the framework and closes all open connections from this scheduler to the Master.</p>
@@ -205,6 +207,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -224,6 +227,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -251,6 +255,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -277,6 +282,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -296,6 +302,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -319,6 +326,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -342,6 +350,7 @@ POST /api/v1/scheduler  HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -366,6 +375,7 @@ POST /api/v1/scheduler   HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -392,6 +402,7 @@ POST /api/v1/scheduler   HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -416,6 +427,7 @@ POST /api/v1/scheduler   HTTP/1.1
 
 Host: masterhost:5050
 Content-Type: application/json
+Mesos-Stream-Id: 130ae4e3-6b13-4ef4-baa9-9f2e85c3e9af
 
 {
   "framework_id"    : {"value" : "12220-3440-12532-2345"},
@@ -568,15 +580,16 @@ HTTP/1.1 202 Accepted
 
 <p>NOTE: To force shutdown a framework before the framework timeout elapses (e.g., during framework development and testing), either the framework can send <code>TEARDOWN</code> call (part of Scheduler API) or an operator can use the &ldquo;/master/teardown&rdquo; endpoint (part of Operator API).</p>
 
-<p>If the scheduler realizes that its subscription connection to &ldquo;/scheduler&rdquo; is broken, it should attempt to open a new persistent connection to the
-&ldquo;/scheduler&rdquo; (on possibly new master based on the result of master detection) and resubscribe. It should not send new non-subscribe HTTP requests to &ldquo;/scheduler&rdquo; unless it gets a <code>SUBSCRIBED</code> event; such requests will result in &ldquo;403 Forbidden&rdquo;.</p>
+<p>If the scheduler realizes that its subscription connection to &ldquo;/scheduler&rdquo; is broken or the master has changed (e.g., via ZooKeeper) it should resubscribe (using a backoff strategy). This is done by sending a <code>SUBSCRIBE</code> request (with framework ID set) on a <strong>new</strong> persistent connection to the &ldquo;/scheduler&rdquo; endpoint on the (possibly new) master. It should not send new non-subscribe HTTP requests to &ldquo;/scheduler&rdquo; unless it receives a <code>SUBSCRIBED</code> event; such requests will result in &ldquo;403 Forbidden&rdquo;.</p>
 
 <p>If the master does not realize that the subscription connection is broken, but the scheduler realizes it, the scheduler might open a new persistent connection to
-&ldquo;/scheduler&rdquo; via <code>SUBSCRIBE</code>. In this case, the semantics depend on the value of <code>subscribe.force</code>. If set to true, master closes the existing subscription connection and allows subscription on the new connection. If set to false, the new connection attempt is disallowed in favor of the existing connection. The invariant here is that, only one persistent subscription connection for a given FrameworkID is allowed on the master. For HA schedulers, it is recommended that a scheduler instance set <code>subscribe.force</code> to true only when it just got elected and set it to false for all subsequent reconnection attempts (e.g, due to disconnection or master failover).</p>
+&ldquo;/scheduler&rdquo; via <code>SUBSCRIBE</code>. In this case, the master closes the existing subscription connection and allows subscription on the new connection. The invariant here is that only one persistent subscription connection for a given framework ID is allowed on the master.</p>
+
+<p>The master uses the <code>Mesos-Stream-Id</code> header to distinguish scheduler instances from one another. In the case of highly-available schedulers with multiple instances, this can prevent unwanted behavior in certain failure scenarios. Each unique <code>Mesos-Stream-Id</code> is valid only for the life of a single subscription connection. Each response to a <code>SUBSCRIBE</code> request contains a <code>Mesos-Stream-Id</code>, and this ID must be included with all subsequent non-subscribe calls sent over that subscription connection. Whenever a new subscription connection is established, a new stream ID is generated and should be used for the life of that connection.</p>
 
 <h3>Network partitions</h3>
 
-<p>In the case of a network partition, the subscription connection between the scheduler and master might not necessarily break. To be able to detect this scenario, master periodically (e.g., 15s) sends <code>HEARTBEAT</code> events (similar in vein to Twitter&rsquo;s Streaming API). If a scheduler doesn&rsquo;t receive a bunch (e.g., 5) of these heartbeats within a time window, it should immediately disconnect and try to re-subscribe. It is highly recommended for schedulers to use an exponential backoff strategy (e.g., upto a maximum of 15s) to avoid overwhelming the master while reconnecting. Schedulers can use a similar timeout (e.g., 75s) for receiving responses to any HTTP requests.</p>
+<p>In the case of a network partition, the subscription connection between the scheduler and master might not necessarily break. To be able to detect this scenario, master periodically (e.g., 15s) sends <code>HEARTBEAT</code> events (similar to Twitter&rsquo;s Streaming API). If a scheduler doesn&rsquo;t receive a bunch (e.g., 5) of these heartbeats within a time window, it should immediately disconnect and try to resubscribe. It is highly recommended for schedulers to use an exponential backoff strategy (e.g., up to a maximum of 15s) to avoid overwhelming the master while reconnecting. Schedulers can use a similar timeout (e.g., 75s) for receiving responses to any HTTP requests.</p>
 
 <h2>Master detection</h2>
 

Modified: mesos/site/publish/documentation/slave-recovery/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/slave-recovery/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/slave-recovery/index.html (original)
+++ mesos/site/publish/documentation/slave-recovery/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Slave Recovery</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -83,83 +83,77 @@
 	<div class="col-md-8">
 		<h1>Slave Recovery</h1>
 
-<p>Slave recovery is a feature of Mesos that allows:</p>
+<p>If the <code>mesos-slave</code> process on a host exits (perhaps due to a Mesos bug or
+because the operator kills the process while <a href="/documentation/latest/./upgrades/">upgrading Mesos</a>),
+any executors/tasks that were being managed by the <code>mesos-slave</code> process will
+continue to run. When <code>mesos-slave</code> is restarted, the operator can control how
+those old executors/tasks are handled:</p>
 
 <ol>
-<li>Executors/tasks to keep running when the slave process is down and</li>
-<li>Allows a restarted slave process to reconnect with running executors/tasks on the slave.</li>
+<li>By default, all the executors/tasks that were being managed by the old
+<code>mesos-slave</code> process are killed.</li>
+<li>If a framework enabled <em>checkpointing</em> when it registered with the master,
+any executors belonging to that framework can reconnect to the new
+<code>mesos-slave</code> process and continue running uninterrupted.</li>
 </ol>
 
 
-<p>Mesos slave could be restarted for an upgrade or due to a crash. This feature is introduced in <strong><em>0.14.0</em></strong> release.</p>
+<p>Hence, enabling framework checkpointing enables tasks to tolerate Mesos slave
+upgrades and unexpected <code>mesos-slave</code> crashes without experiencing any
+downtime.</p>
 
-<h2>How does it work?</h2>
+<p>Slave recovery works by having the slave <em>checkpoint</em> information (e.g., Task
+Info, Executor Info, Status Updates) about the tasks and executors it is
+managing to local disk. If a framework enables checkpointing, any subsequent
+slave restarts will recover the checkpointed information and reconnect with any
+executors that are still running.</p>
 
-<p>Slave recovery works by having the slave checkpoint enough information (e.g., Task Info, Executor Info, Status Updates) about the running tasks and executors to local disk. Once a framework enables checkpointing, any subsequent slave restarts would recover the checkpointed information and reconnect with the executors. Note that if the host running the slave process is rebooted all the executors/tasks are killed.</p>
+<p>Note that if the operating system on the slave is rebooted, all executors and
+tasks running on the host are killed and are not automatically restarted when
+the host comes back up.</p>
 
-<blockquote><p>NOTE: To enable recovery the framework should explicitly request checkpointing.
-Alternatively, a framework that doesn&rsquo;t want the disk i/o overhead of checkpointing can opt out of checkpointing.</p></blockquote>
+<h2>Framework Configuration</h2>
 
-<h2>Enabling slave checkpointing</h2>
+<p>A framework can control whether its executors will be recovered by setting the <code>checkpoint</code> flag in its <code>FrameworkInfo</code> when registering with the master. Enabling this feature results in increased I/O overhead at each slave that runs tasks launched by the framework. By default, frameworks do <strong>not</strong> checkpoint their state.</p>
 
-<blockquote><p>NOTE: From Mesos 0.22.0 slave checkpointing will be automatically enabled for all slaves.</p></blockquote>
+<h2>Slave Configuration</h2>
 
-<p>As part of this feature, 4 new flags were added to the slave.</p>
+<p>Three <a href="/documentation/latest/./configuration/">configuration flags</a> control the recovery behavior of a Mesos slave:</p>
 
 <ul>
-<li><p><code>checkpoint</code> :  Whether to checkpoint slave and frameworks information
-                to disk [Default: true].</p>
+<li><p><code>strict</code>: Whether to do slave recovery in strict mode [Default: true].</p>
 
 <ul>
-<li>This enables a restarted slave to recover status updates and reconnect
-with (&ndash;recover=reconnect) or kill (&ndash;recover=cleanup) old executors.
-
-<blockquote><p>NOTE: From Mesos 0.22.0 this flag will be removed as it will be enabled for all slaves.</p></blockquote></li>
-</ul>
-</li>
-<li><p><code>strict</code> : Whether to do recovery in strict mode [Default: true].</p>
-
-<ul>
-<li>If strict=true, any and all recovery errors are considered fatal.</li>
+<li>If strict=true, all recovery errors are considered fatal.</li>
 <li>If strict=false, any errors (e.g., corruption in checkpointed data) during recovery are
 ignored and as much state as possible is recovered.</li>
 </ul>
 </li>
-<li><p><code>recover</code> : Whether to recover status updates and reconnect with old executors [Default: reconnect].</p>
+<li><p><code>recover</code>: Whether to recover status updates and reconnect with old executors [Default: reconnect].</p>
 
 <ul>
-<li>If recover=reconnect, Reconnect with any old live executors.</li>
-<li>If recover=cleanup, Kill any old live executors and exit.
-Use this option when doing an incompatible slave or executor upgrade!).
+<li>If recover=reconnect, reconnect with any old live executors, provided the executor&rsquo;s framework enabled checkpointing.</li>
+<li>If recover=cleanup, kill any old live executors and exit. Use this option when doing an incompatible slave or executor upgrade!
 
 <blockquote><p>NOTE: If no checkpointing information exists, no recovery is performed
 and the slave registers with the master as a new slave.</p></blockquote></li>
 </ul>
 </li>
-<li><p><code>recovery_timeout</code> : Amount of time allotted for the slave to recover [Default: 15 mins].</p>
+<li><p><code>recovery_timeout</code>: Amount of time allotted for the slave to recover [Default: 15 mins].</p>
 
 <ul>
 <li>If the slave takes longer than <code>recovery_timeout</code> to recover, any executors that are waiting to
-reconnect to the slave will self-terminate.
-
-<blockquote><p>NOTE: This flag is only applicable when <code>--checkpoint</code> is enabled.</p></blockquote></li>
+reconnect to the slave will self-terminate.</li>
 </ul>
 </li>
 </ul>
 
 
 <blockquote><p>NOTE: If none of the frameworks have enabled checkpointing,
-executors/tasks of frameworks die when the slave dies and are not recovered.</p></blockquote>
+the executors and tasks running at a slave die when the slave dies
+and are not recovered.</p></blockquote>
 
-<p>A restarted slave should re-register with master within a timeout (currently, 75s). If the slave takes longer
-than this timeout to re-register, the master shuts down the slave, which in turn shuts down any live executors/tasks.
-Therefore, it is highly recommended to automate the process of restarting a slave (e.g, using <a href="http://mmonit.com/monit/">monit</a>).</p>
-
-<p><strong>For the complete list of slave options: ./mesos-slave.sh &ndash;help</strong></p>
-
-<h2>Enabling framework checkpointing</h2>
-
-<p>As part of this feature, <code>FrameworkInfo</code> has been updated to include an optional <code>checkpoint</code> field. A framework that would like to opt in to checkpointing should set <code>FrameworkInfo.checkpoint=True</code> before registering with the master.</p>
+<p>A restarted slave should re-register with master within a timeout (75 seconds by default: see the <code>--max_slave_ping_timeouts</code> and <code>--slave_ping_timeout</code> <a href="/documentation/latest/./configuration/">configuration flags</a>). If the slave takes longer than this timeout to re-register, the master shuts down the slave, which in turn will shutdown any live executors/tasks.  Therefore, it is highly recommended to automate the process of restarting a slave (e.g., using a process supervisor such as <a href="http://mmonit.com/monit/">monit</a> or <code>systemd</code>).</p>
 
 <h2>Known issues with <code>systemd</code> and POSIX isolation</h2>
 
@@ -174,10 +168,6 @@ KillMode=process
 
 <blockquote><p>NOTE: There are also known issues with using <code>systemd</code> and raw <code>cgroups</code> based isolation, for now the suggested non-Posix isolation mechanism is to use Docker containerization.</p></blockquote>
 
-<h2>Upgrading to 0.14.0</h2>
-
-<p>If you want to upgrade a running Mesos cluster to 0.14.0 to take advantage of slave recovery please follow the <a href="/documentation/latest/./upgrades/">upgrade instructions</a>.</p>
-
 	</div>
 </div>
 

Modified: mesos/site/publish/documentation/ssl/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/ssl/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/ssl/index.html (original)
+++ mesos/site/publish/documentation/ssl/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - SSL in Mesos</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/submitting-a-patch/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/submitting-a-patch/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/submitting-a-patch/index.html (original)
+++ mesos/site/publish/documentation/submitting-a-patch/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Submitting a Patch</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -81,7 +81,7 @@
 		<p>See our <a href="/community/">community</a> page for more details.</p>
 	</div>
 	<div class="col-md-8">
-		<h1>Submitting a patch</h1>
+		<h1>Submitting a Patch</h1>
 
 <ul>
 <li>You&rsquo;ve fixed a bug or added a feature and want to contribute it. AWESOME!</li>

Modified: mesos/site/publish/documentation/testing-patterns/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/testing-patterns/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/testing-patterns/index.html (original)
+++ mesos/site/publish/documentation/testing-patterns/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Testing Patterns</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/tools/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/tools/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/tools/index.html (original)
+++ mesos/site/publish/documentation/tools/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Tools</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/documentation/upgrades/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/upgrades/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/upgrades/index.html (original)
+++ mesos/site/publish/documentation/upgrades/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Upgrading Mesos</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -85,6 +85,26 @@
 
 <p>This document serves as a guide for users who wish to upgrade an existing Mesos cluster. Some versions require particular upgrade techniques when upgrading a running cluster. Some upgrades will have incompatible changes.</p>
 
+<h2>Upgrading from 0.27.x to 0.28.x</h2>
+
+<ul>
+<li><p>Mesos 0.28 only supports three decimal digits of precision for scalar resource values. For example, frameworks can reserve &ldquo;0.001&rdquo; CPUs but more fine-grained reservations (e.g., &ldquo;0.0001&rdquo; CPUs) are no longer supported (although they did not work reliably in prior versions of Mesos anyway). Internally, resource math is now done using a fixed-point format that supports three decimal digits of precision, and then converted to/from floating point for input and output, respectively. Frameworks that do their own resource math and manipulate fractional resources may observe differences in roundoff error and numerical precision.</p></li>
+<li><p>Mesos 0.28 changes the definitions of two ACLs used for authorization. The objects of the <code>ReserveResources</code> and <code>CreateVolume</code> ACLs have been changed to <code>roles</code>. In both cases, principals can now be authorized to perform these operations for particular roles. This means that by default, a framework or operator can reserve resources/create volumes for any role. To restrict this behavior, <a href="/documentation/latest/./authorization/">ACLs can be added</a> to the master which authorize principals to reserve resources/create volumes for specified roles only. Previously, frameworks could only reserve resources for their own role; this behavior can be preserved by configuring the <code>ReserveResources</code> ACLs such that the framework&rsquo;s principal is only authorized to reserve for the framework&rsquo;s role. <strong>NOTE</strong> This renders existing <code>ReserveResources</code> and <code>CreateVolume</code> ACL definitions obsolete; i
 f you are authorizing these operations, your ACL definitions should be updated.</p></li>
+</ul>
+
+
+<p>In order to upgrade a running cluster:</p>
+
+<ol>
+<li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
+<li>Install the new master binaries and restart the masters.</li>
+<li>Install the new slave binaries and restart the slaves.</li>
+<li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
+<li>Restart the schedulers.</li>
+<li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
+</ol>
+
+
 <h2>Upgrading from 0.26.x to 0.27.x</h2>
 
 <ul>
@@ -97,27 +117,56 @@
 </ul>
 
 
+<p>In order to upgrade a running cluster:</p>
+
+<ol>
+<li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
+<li>Install the new master binaries and restart the masters.</li>
+<li>Install the new slave binaries and restart the slaves.</li>
+<li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
+<li>Restart the schedulers.</li>
+<li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
+</ol>
+
+
 <h2>Upgrading from 0.25.x to 0.26.x</h2>
 
-<p><strong>NOTE</strong> The names of some TaskStatus::Reason enums have been changed. But the tag numbers remain unchanged, so it is backwards compatible. Frameworks using the new version might need to do some compile time adjustments:</p>
+<ul>
+<li><p>The names of some TaskStatus::Reason enums have been changed. But the tag numbers remain unchanged, so it is backwards compatible. Frameworks using the new version might need to do some compile time adjustments:</p>
 
 <ul>
 <li>REASON_MEM_LIMIT -> REASON_CONTAINER_LIMITATION_MEMORY</li>
 <li>REASON_EXECUTOR_PREEMPTED -> REASON_CONTAINER_PREEMPTED</li>
 </ul>
+</li>
+<li><p>The <code>Credential</code> protobuf has been changed. <code>Credential</code> field <code>secret</code> is now a string, it used to be bytes. This will affect framework developers and language bindings ought to update their generated protobuf with the new version. This fixes JSON based credentials file support.</p></li>
+<li><p>The <code>/state</code> endpoints on master and slave will no longer include <code>data</code> fields as part of the JSON models for <code>ExecutorInfo</code> and <code>TaskInfo</code> out of consideration for memory scalability (see <a href="https://issues.apache.org/jira/browse/MESOS-3794">MESOS-3794</a> and <a href="http://www.mail-archive.com/dev@mesos.apache.org/msg33536.html">this email thread</a>).</p>
+
+<ul>
+<li>On master, the affected <code>data</code> field was originally found via <code>frameworks[*].executors[*].data</code>.</li>
+<li>On slaves, the affected <code>data</code> field was originally found via <code>executors[*].tasks[*].data</code>.</li>
+</ul>
+</li>
+<li><p>The <code>NetworkInfo</code> protobuf has been changed. The fields <code>protocol</code> and <code>ip_address</code> are now deprecated. The new field <code>ip_addresses</code> subsumes the information provided by them.</p></li>
+</ul>
 
 
-<p><strong>NOTE</strong> The <code>Credential</code> protobuf has been changed. <code>Credential</code> field <code>secret</code> is now a string, it used to be bytes. This will affect framework developers and language bindings ought to update their generated protobuf with the new version. This fixes JSON based credentials file support.</p>
+<p>In order to upgrade a running cluster:</p>
 
-<p><strong>NOTE</strong> The <code>/state</code> endpoints on master and slave will no longer include <code>data</code> fields as part of the JSON models for <code>ExecutorInfo</code> and <code>TaskInfo</code> out of consideration for memory scalability (see <a href="https://issues.apache.org/jira/browse/MESOS-3794">MESOS-3794</a> and <a href="http://www.mail-archive.com/dev@mesos.apache.org/msg33536.html">this email thread</a>).
-On master, the affected <code>data</code> field was originally found via <code>frameworks[*].executors[*].data</code>.
-On slaves, the affected <code>data</code> field was originally found via <code>executors[*].tasks[*].data</code>.</p>
+<ol>
+<li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
+<li>Install the new master binaries and restart the masters.</li>
+<li>Install the new slave binaries and restart the slaves.</li>
+<li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
+<li>Restart the schedulers.</li>
+<li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
+</ol>
 
-<p><strong>NOTE</strong> The <code>NetworkInfo</code> protobuf has been changed. The fields <code>protocol</code> and <code>ip_address</code> are now deprecated. The new field <code>ip_addresses</code> subsumes the information provided by them.</p>
 
 <h2>Upgrading from 0.24.x to 0.25.x</h2>
 
-<p><strong>NOTE</strong> The following endpoints will be deprecated in favor of new endpoints. Both versions will be available in 0.25 but the deprecated endpoints will be removed in a subsequent release.</p>
+<ul>
+<li><p>The following endpoints will be deprecated in favor of new endpoints. Both versions will be available in 0.25 but the deprecated endpoints will be removed in a subsequent release.</p>
 
 <p>For master endpoints:</p>
 
@@ -130,8 +179,8 @@ On slaves, the affected <code>data</code
 <p>For slave endpoints:</p>
 
 <ul>
-<li>/state.json becomes /state</li>
-<li>/monitor/statistics.json becomes /monitor/statistics</li>
+<li>/state.json becomes /stateπ</li>
+<li>/monitor/statistics.json becomes /monitor/statisticsπ</li>
 </ul>
 
 
@@ -143,143 +192,141 @@ On slaves, the affected <code>data</code
 <li>/files/download.json becomes /files/download</li>
 <li>/files/read.json becomes /files/read</li>
 </ul>
+</li>
+<li><p>The C++/Java/Python scheduler bindings have been updated. In particular, the driver can make a suppressOffers() call to stop receiving offers (until reviveOffers() is called).</p></li>
+</ul>
 
 
-<p><strong>NOTE</strong> The C++/Java/Python scheduler bindings have been updated. In particular, the driver can make a suppressOffers() call to stop receiving offers (until reviveOffers() is called).</p>
-
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.23.x to 0.24.x</h2>
 
-<p><strong>NOTE</strong> Support for live upgrading a driver based scheduler to HTTP based (experimental) scheduler has been added.</p>
+<ul>
+<li><p>Support for live upgrading a driver based scheduler to HTTP based (experimental) scheduler has been added.</p></li>
+<li><p>Master now publishes its information in ZooKeeper in JSON (instead of protobuf). Make sure schedulers are linked against >= 0.23.0 libmesos before upgrading the master.</p></li>
+</ul>
 
-<p><strong>NOTE</strong> Master now publishes its information in ZooKeeper in JSON (instead of protobuf). Make sure schedulers are linked against >= 0.23.0 libmesos before upgrading the master.</p>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.22.x to 0.23.x</h2>
 
-<p><strong>NOTE</strong> The &lsquo;stats.json&rsquo; endpoints for masters and slaves have been removed. Please use the &lsquo;metrics/snapshot&rsquo; endpoints instead.</p>
-
-<p><strong>NOTE</strong> The &lsquo;/master/shutdown&rsquo; endpoint is deprecated in favor of the new &lsquo;/master/teardown&rsquo; endpoint.</p>
-
-<p><strong>NOTE</strong> In order to enable decorator modules to remove metadata (environment variables or labels), we changed the meaning of the return value for decorator hooks in Mesos 0.23.0. Please refer to the modules documentation for more details.</p>
-
-<p><strong>NOTE</strong> Slave ping timeouts are now configurable on the master via <code>--slave_ping_timeout</code> and <code>--max_slave_ping_timeouts</code>. Slaves should be upgraded to 0.23.x before changing these flags.</p>
-
-<p><strong>NOTE</strong> A new scheduler driver API, <code>acceptOffers</code>, has been introduced. This is a more general version of the <code>launchTasks</code> API, which allows the scheduler to accept an offer and specify a list of operations (Offer.Operation) to perform using the resources in the offer. Currently, the supported operations include LAUNCH (launching tasks), RESERVE (making dynamic reservations), UNRESERVE (releasing dynamic reservations), CREATE (creating persistent volumes) and DESTROY (releasing persistent volumes). Similar to the <code>launchTasks</code> API, any unused resources will be considered declined, and the specified filters will be applied on all unused resources.</p>
+<ul>
+<li><p>The &lsquo;stats.json&rsquo; endpoints for masters and slaves have been removed. Please use the &lsquo;metrics/snapshot&rsquo; endpoints instead.</p></li>
+<li><p>The &lsquo;/master/shutdown&rsquo; endpoint is deprecated in favor of the new &lsquo;/master/teardown&rsquo; endpoint.</p></li>
+<li><p>In order to enable decorator modules to remove metadata (environment variables or labels), we changed the meaning of the return value for decorator hooks in Mesos 0.23.0. Please refer to the modules documentation for more details.</p></li>
+<li><p>Slave ping timeouts are now configurable on the master via <code>--slave_ping_timeout</code> and <code>--max_slave_ping_timeouts</code>. Slaves should be upgraded to 0.23.x before changing these flags.</p></li>
+<li><p>A new scheduler driver API, <code>acceptOffers</code>, has been introduced. This is a more general version of the <code>launchTasks</code> API, which allows the scheduler to accept an offer and specify a list of operations (Offer.Operation) to perform using the resources in the offer. Currently, the supported operations include LAUNCH (launching tasks), RESERVE (making dynamic reservations), UNRESERVE (releasing dynamic reservations), CREATE (creating persistent volumes) and DESTROY (releasing persistent volumes). Similar to the <code>launchTasks</code> API, any unused resources will be considered declined, and the specified filters will be applied on all unused resources.</p></li>
+<li><p>The Resource protobuf has been extended to include more metadata for supporting persistence (DiskInfo), dynamic reservations (ReservationInfo) and oversubscription (RevocableInfo). You must not combine two Resource objects if they have different metadata.</p></li>
+</ul>
 
-<p><strong>NOTE</strong> The Resource protobuf has been extended to include more metadata for supporting persistence (DiskInfo), dynamic reservations (ReservationInfo) and oversubscription (RevocableInfo). You must not combine two Resource objects if they have different metadata.</p>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Rebuild and install any modules so that upgraded masters/slaves can use them.</li>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library / jar / egg (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library / jar / egg (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.21.x to 0.22.x</h2>
 
-<p><strong>NOTE</strong> Slave checkpoint flag has been removed as it will be enabled for all
+<ul>
+<li><p>Slave checkpoint flag has been removed as it will be enabled for all
 slaves. Frameworks must still enable checkpointing during registration to take advantage
-of checkpointing their tasks.</p>
-
-<p><strong>NOTE</strong> The stats.json endpoints for masters and slaves have been deprecated.
-Please refer to the metrics/snapshot endpoint.</p>
+of checkpointing their tasks.</p></li>
+<li><p>The stats.json endpoints for masters and slaves have been deprecated.
+Please refer to the metrics/snapshot endpoint.</p></li>
+<li><p>The C++/Java/Python scheduler bindings have been updated. In particular, the driver can be constructed with an additional argument that specifies whether to use implicit driver acknowledgements. In <code>statusUpdate</code>, the <code>TaskStatus</code> now includes a UUID to make explicit acknowledgements possible.</p></li>
+<li><p>The Authentication API has changed slightly in this release to support additional authentication mechanisms. The change from &lsquo;string&rsquo; to &lsquo;bytes&rsquo; for AuthenticationStartMessage.data has no impact on C++ or the over-the-wire representation, so it only impacts pure language bindings for languages like Java and Python that use different types for UTF-8 strings vs. byte arrays.</p>
 
-<p><strong>NOTE</strong> The C++/Java/Python scheduler bindings have been updated. In particular, the driver can be constructed with an additional argument that specifies whether to use implicit driver acknowledgements. In <code>statusUpdate</code>, the <code>TaskStatus</code> now includes a UUID to make explicit acknowledgements possible.</p>
-
-<p><strong>NOTE</strong>: The Authentication API has changed slightly in this release to support additional authentication mechanisms. The change from &lsquo;string&rsquo; to &lsquo;bytes&rsquo; for AuthenticationStartMessage.data has no impact on C++ or the over-the-wire representation, so it only impacts pure language bindings for languages like Java and Python that use different types for UTF-8 strings vs. byte arrays.</p>
-
-<pre><code>message AuthenticationStartMessage {
-  required string mechanism = 1;
-  optional bytes data = 2;
-}
-</code></pre>
+<p>  message AuthenticationStartMessage {
+    required string mechanism = 1;
+    optional bytes data = 2;
+  }</p></li>
+<li><p>All Mesos arguments can now be passed using file:// to read them out of a file (either an absolute or relative path). The &ndash;credentials, &ndash;whitelist, and any flags that expect JSON backed arguments (such as &ndash;modules) behave as before, although support for just passing an absolute path for any JSON flags rather than file:// has been deprecated and will produce a warning (and the absolute path behavior will be removed in a future release).</p></li>
+</ul>
 
-<p><strong>NOTE</strong> All Mesos arguments can now be passed using file:// to read them out of a file (either an absolute or relative path). The &ndash;credentials, &ndash;whitelist, and any flags that expect JSON backed arguments (such as &ndash;modules) behave as before, although support for just passing an absolute path for any JSON flags rather than file:// has been deprecated and will produce a warning (and the absolute path behavior will be removed in a future release).</p>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
-<li>Upgrade the schedulers:
-
-<ul>
-<li>For Java schedulers, link the new native library against the new JAR. The JAR contains API changes per the <strong>NOTE</strong> above. A 0.21.0 JAR will work with a 0.22.0 libmesos. A 0.22.0 JAR will work with a 0.21.0 libmesos if explicit acks are not being used. 0.22.0 and 0.21.0 are inter-operable at the protocol level between the master and the scheduler.</li>
+<li>Upgrade the schedulers:</li>
+<li>For Java schedulers, link the new native library against the new JAR. The JAR contains API above changes. A 0.21.0 JAR will work with a 0.22.0 libmesos. A 0.22.0 JAR will work with a 0.21.0 libmesos if explicit acks are not being used. 0.22.0 and 0.21.0 are inter-operable at the protocol level between the master and the scheduler.</li>
 <li>For Python schedulers, upgrade to use a 0.22.0 egg. If constructing <code>MesosSchedulerDriverImpl</code> with <code>Credentials</code>, your code must be updated to pass the <code>implicitAcknowledgements</code> argument before <code>Credentials</code>. You may run a 0.21.0 Python scheduler against a 0.22.0 master, and vice versa.</li>
-</ul>
-</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library / jar / egg.</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.20.x to 0.21.x</h2>
 
-<p><strong>NOTE</strong> Disabling slave checkpointing has been deprecated; the slave &ndash;checkpoint flag has been deprecated and will be removed in a future release.</p>
+<ul>
+<li>Disabling slave checkpointing has been deprecated; the slave &ndash;checkpoint flag has been deprecated and will be removed in a future release.</li>
+</ul>
+
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library (mesos jar upgrade not necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.19.x to 0.20.x.</h2>
 
-<p><strong>NOTE</strong>: The Mesos API has been changed slightly in this release. The CommandInfo has been changed (see below), which makes launching a command more flexible. The &lsquo;value&rsquo; field has been changed from <em>required</em> to <em>optional</em>. However, it will not cause any issue during the upgrade (since the existing schedulers always set this field).</p>
-
-<pre><code>message CommandInfo {
-  ...
-  // There are two ways to specify the command:
-  // 1) If 'shell == true', the command will be launched via shell
-  //    (i.e., /bin/sh -c 'value'). The 'value' specified will be
-  //    treated as the shell command. The 'arguments' will be ignored.
-  // 2) If 'shell == false', the command will be launched by passing
-  //    arguments to an executable. The 'value' specified will be
-  //    treated as the filename of the executable. The 'arguments'
-  //    will be treated as the arguments to the executable. This is
-  //    similar to how POSIX exec families launch processes (i.e.,
-  //    execlp(value, arguments(0), arguments(1), ...)).
-  optional bool shell = 6 [default = true];
-  optional string value = 3;
-  repeated string arguments = 7;
-  ...
-}
-</code></pre>
+<ul>
+<li><p>The Mesos API has been changed slightly in this release. The CommandInfo has been changed (see below), which makes launching a command more flexible. The &lsquo;value&rsquo; field has been changed from <em>required</em> to <em>optional</em>. However, it will not cause any issue during the upgrade (since the existing schedulers always set this field).</p>
 
-<p><strong>NOTE</strong>: The Python bindings are also changing in this release. There are now sub-modules which allow you to use either the interfaces and/or the native driver.</p>
+<pre><code>  message CommandInfo {
+    ...
+    // There are two ways to specify the command:
+    // 1) If 'shell == true', the command will be launched via shell
+    //    (i.e., /bin/sh -c 'value'). The 'value' specified will be
+    //    treated as the shell command. The 'arguments' will be ignored.
+    // 2) If 'shell == false', the command will be launched by passing
+    //    arguments to an executable. The 'value' specified will be
+    //    treated as the filename of the executable. The 'arguments'
+    //    will be treated as the arguments to the executable. This is
+    //    similar to how POSIX exec families launch processes (i.e.,
+    //    execlp(value, arguments(0), arguments(1), ...)).
+    optional bool shell = 6 [default = true];
+    optional string value = 3;
+    repeated string arguments = 7;
+    ...
+  }
+</code></pre></li>
+<li><p>The Python bindings are also changing in this release. There are now sub-modules which allow you to use either the interfaces and/or the native driver.</p>
 
 <ul>
 <li><code>import mesos.native</code> for the native drivers</li>
@@ -289,58 +336,61 @@ Please refer to the metrics/snapshot end
 
 <p>To ensure a smooth upgrade, we recommend to upgrade your python framework and executor first. You will be able to either import using the new configuration or the old. Replace the existing imports with something like the following:</p>
 
-<pre><code>try:
-    from mesos.native import MesosExecutorDriver, MesosSchedulerDriver
-    from mesos.interface import Executor, Scheduler
-    from mesos.interface import mesos_pb2
-except ImportError:
-    from mesos import Executor, MesosExecutorDriver, MesosSchedulerDriver, Scheduler
-    import mesos_pb2
-</code></pre>
+<p>  try:
+      from mesos.native import MesosExecutorDriver, MesosSchedulerDriver
+      from mesos.interface import Executor, Scheduler
+      from mesos.interface import mesos_pb2
+  except ImportError:
+      from mesos import Executor, MesosExecutorDriver, MesosSchedulerDriver, Scheduler
+      import mesos_pb2</p></li>
+<li><p>If you&rsquo;re using a pure language binding, please ensure that it sends status update acknowledgements through the master before upgrading.</p></li>
+</ul>
 
-<p><strong>NOTE</strong>: If you&rsquo;re using a pure language binding, please ensure that it sends status update acknowledgements through the master before upgrading.</p>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library (install the latest mesos jar and python egg if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library (install the latest mesos jar and python egg if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.18.x to 0.19.x.</h2>
 
-<p><strong>NOTE</strong>: There are new required flags on the master (<code>--work_dir</code> and <code>--quorum</code>) to support the <em>Registrar</em> feature, which adds replicated state on the masters.</p>
+<ul>
+<li><p>There are new required flags on the master (<code>--work_dir</code> and <code>--quorum</code>) to support the <em>Registrar</em> feature, which adds replicated state on the masters.</p></li>
+<li><p>No required upgrade ordering across components.</p></li>
+</ul>
 
-<p><strong>NOTE</strong>: No required upgrade ordering across components.</p>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the schedulers by linking the latest native library (mesos jar upgrade not necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.17.0 to 0.18.x.</h2>
 
-<p>In order to upgrade a running cluster:</p>
+<ul>
+<li>This upgrade requires a system reboot for slaves that use Linux cgroups for isolation.</li>
+</ul>
 
-<p><strong>NOTE</strong>: This upgrade requires a system reboot for slaves that use Linux cgroups for isolation.</p>
 
-<ul>
+<p>In order to upgrade a running cluster:</p>
+
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
 <li>Restart the schedulers.</li>
-<li>Install the new slave binaries then perform one of the following two steps, depending on if cgroups isolation is used:
-
-<ul>
+<li>Install the new slave binaries then perform one of the following two steps, depending on if cgroups isolation is used:</li>
 <li>[no cgroups]
 
 <ul>
@@ -354,106 +404,119 @@ except ImportError:
 <li>The suggested configuration is to mount a tmpfs filesystem to /sys/fs/cgroup and to let the slave mount the required controllers. However, the slave will also use previously mounted controllers if they are appropriately mounted under &ldquo;&ndash;cgroups_hierarchy&rdquo;.</li>
 <li>It has been observed that unmounting and remounting of cgroups from the single to separate configuration is unreliable and a reboot into the new configuration is strongly advised. Restart the slaves after reboot.</li>
 <li>The &ldquo;&ndash;cgroups_hierarchy&rdquo; now defaults to &ldquo;/sys/fs/cgroup&rdquo;. The &ldquo;&ndash;cgroups_root&rdquo; flag default remains &ldquo;mesos&rdquo;.</li>
-<li> The &ldquo;&ndash;isolation&rdquo; flag has changed and &ldquo;cgroups&rdquo; has been deprecated in favor of &ldquo;cgroups/cpu,cgroups/mem&rdquo;.</li>
+<li>The &ldquo;&ndash;isolation&rdquo; flag has changed and &ldquo;cgroups&rdquo; has been deprecated in favor of &ldquo;cgroups/cpu,cgroups/mem&rdquo;.</li>
 <li>The &ldquo;&ndash;cgroup_subsystems&rdquo; flag is no longer required and will be ignored.</li>
 </ul>
 </li>
-</ul>
-</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.16.0 to 0.17.0.</h2>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.15.0 to 0.16.0.</h2>
 
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.14.0 to 0.15.0.</h2>
 
+<ul>
+<li>Schedulers should implement the new <code>reconcileTasks</code> driver method.</li>
+<li>Schedulers should call the new <code>MesosSchedulerDriver</code> constructor that takes <code>Credential</code> to authenticate.</li>
+<li>&ndash;authentication=false (default) allows both authenticated and unauthenticated frameworks to register.</li>
+</ul>
+
+
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries.</li>
 <li>Restart the masters with &ndash;credentials pointing to credentials of the framework(s).</li>
-<li>NOTE: &ndash;authentication=false (default) allows both authenticated and unauthenticated frameworks to register.</li>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
-<li>NOTE: Schedulers should implement the new <code>reconcileTasks</code> driver method.</li>
-<li>Schedulers should call the new <code>MesosSchedulerDriver</code> constructor that takes <code>Credential</code> to authenticate.</li>
-<li>Restart the schedulers.</li>
-<li>Restart the masters with &ndash;authentication=true.</li>
-<li>NOTE: After the restart unauthenticated frameworks <em>will not</em> be allowed to register.</li>
-</ul>
+<li>Restart the schedulers.
+Restart the masters with &ndash;authentication=true.</li>
+</ol>
+
 
+<p>NOTE: After the restart unauthenticated frameworks <em>will not</em> be allowed to register.</p>
 
 <h2>Upgrading from 0.13.0 to 0.14.0.</h2>
 
+<ul>
+<li>/vars endpoint has been removed.</li>
+</ul>
+
+
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
-<li>NOTE: /vars endpoint has been removed.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
 <li>Install the new slave binaries.</li>
 <li>Restart the slaves after adding &ndash;checkpoint flag to enable checkpointing.</li>
-<li>NOTE: /vars endpoint has been removed.</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
 <li>Set FrameworkInfo.checkpoint in the scheduler if checkpointing is desired (recommended).</li>
 <li>Restart the schedulers.</li>
 <li>Restart the masters (to get rid of the cached FrameworkInfo).</li>
 <li>Restart the slaves (to get rid of the cached FrameworkInfo).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.12.0 to 0.13.0.</h2>
 
+<ul>
+<li>cgroups_hierarchy_root slave flag is renamed as cgroups_hierarchy</li>
+</ul>
+
+
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new master binaries and restart the masters.</li>
 <li>Upgrade the schedulers by linking the latest native library and mesos jar (if necessary).</li>
 <li>Restart the schedulers.</li>
 <li>Install the new slave binaries.</li>
-<li>NOTE: cgroups_hierarchy_root slave flag is renamed as cgroups_hierarchy</li>
 <li>Restart the slaves.</li>
 <li>Upgrade the executors by linking the latest native library and mesos jar (if necessary).</li>
-</ul>
+</ol>
 
 
 <h2>Upgrading from 0.11.0 to 0.12.0.</h2>
 
+<ul>
+<li>If you are a framework developer, you will want to examine the new &lsquo;source&rsquo; field in the ExecutorInfo protobuf. This will allow you to take further advantage of the resource monitoring.</li>
+</ul>
+
+
 <p>In order to upgrade a running cluster:</p>
 
-<ul>
+<ol>
 <li>Install the new slave binaries and restart the slaves.</li>
 <li>Install the new master binaries and restart the masters.</li>
-</ul>
-
+</ol>
 
-<p>If you are a framework developer, you will want to examine the new &lsquo;source&rsquo; field in the ExecutorInfo protobuf. This will allow you to take further advantage of the resource monitoring.</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/versioning/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/versioning/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/documentation/versioning/index.html (original)
+++ mesos/site/publish/documentation/versioning/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Versioning</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">

Modified: mesos/site/publish/downloads/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/downloads/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/downloads/index.html (original)
+++ mesos/site/publish/downloads/index.html Tue Mar  8 05:37:24 2016
@@ -73,6 +73,8 @@
     <h4>Previous Releases</h4>
 
     <ul>
+      <li><a href="http://archive.apache.org/dist/mesos/0.27.1/">0.27.1</a>
+           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334748">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.27.0/">0.27.0</a>
            (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334043">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.26.0/">0.26.0</a>
@@ -141,8 +143,8 @@
   <div class="col-md-8">
     <h1>Download Mesos</h1>
       <p>Download the most recent stable release:
-          <a href="http://www.apache.org/dyn/mirrors/mirrors.cgi/mesos/0.27.1/">0.27.1</a>
-        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334748">Release Notes</a>)
+          <a href="http://www.apache.org/dyn/mirrors/mirrors.cgi/mesos/0.27.2/">0.27.2</a>
+        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334913">Release Notes</a>)
       </p>
 
       <h4>Getting the code via source control</h4>

Modified: mesos/site/publish/gettingstarted/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/gettingstarted/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/gettingstarted/index.html (original)
+++ mesos/site/publish/gettingstarted/index.html Tue Mar  8 05:37:24 2016
@@ -2,7 +2,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title></title>
+        <title>Apache Mesos - Getting Started</title>
 		    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
 		    <link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
@@ -89,8 +89,8 @@
 
 <p>1. 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.27.1/mesos-0.27.1.tar.gz
-$ tar -zxf mesos-0.27.1.tar.gz
+<pre><code>$ wget http://www.apache.org/dist/mesos/0.27.2/mesos-0.27.2.tar.gz
+$ tar -zxf mesos-0.27.2.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>

Modified: mesos/site/publish/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/index.html?rev=1734022&r1=1734021&r2=1734022&view=diff
==============================================================================
--- mesos/site/publish/index.html (original)
+++ mesos/site/publish/index.html Tue Mar  8 05:37:24 2016
@@ -71,7 +71,7 @@
     <h1>Program against your datacenter like it’s a single pool of resources</h1>
     <p class="lead">Apache Mesos abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively.</p>
 
-        <p> <a href="downloads/"><span class="glyphicon glyphicon-download"></span> Download Mesos 0.27.1</a> or learn how to <a href="gettingstarted/">get started</a></p>
+        <p> <a href="downloads/"><span class="glyphicon glyphicon-download"></span> Download Mesos 0.27.2</a> or learn how to <a href="gettingstarted/">get started</a></p>
     </div>
 </div>
 
@@ -101,6 +101,7 @@
   <div class="col-md-5">
     <h3>News</h3>
       <ul>
+      <li><em>March 7, 2016</em> - Mesos 0.27.2 is released! See the <a href="https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=0.27.2">CHANGELOG</a> and <a href="/blog/mesos-0-27-2-released/">blog post</a> for details.</li>
       <li><em>February 22, 2016</em> - Mesos 0.27.1 is released! See the <a href="https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=0.27.1">CHANGELOG</a> and <a href="/blog/mesos-0-27-1-released/">blog post</a> for details.</li>
       <li><em>February 12, 2016</em> - MesosCon 2016 CFP is now open!  See the <a href="/blog/mesoscon-2016-cfp-is-now-open/">blog post</a> for details.</li>
       <li><em>January 31, 2016</em> - Mesos 0.27.0 is released! See the <a href="https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=0.27.0">CHANGELOG</a> and <a href="/blog/mesos-0-27-0-released/">blog post</a> for details.</li>