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

svn commit: r1735497 [3/3] - in /mesos/site/publish: blog/ blog/mesos-0-27-2-released/ blog/mesos-0-28-0-released/ documentation/ documentation/app-framework-development-guide/ documentation/authentication/ documentation/authorization/ documentation/co...

Modified: mesos/site/publish/documentation/upgrades/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/upgrades/index.html?rev=1735497&r1=1735496&r2=1735497&view=diff
==============================================================================
--- mesos/site/publish/documentation/upgrades/index.html (original)
+++ mesos/site/publish/documentation/upgrades/index.html Thu Mar 17 20:34:37 2016
@@ -85,11 +85,148 @@
 
 <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>Overview</h2>
+
+<p>This section provides an overview of the changes for each version (in particular when upgrading from the next lower version). For more details please check the respective sections below.</p>
+
+<p>We categorize the changes as follows:</p>
+
+<pre><code>A New feature/behavior
+C Changed feature/behavior
+D Deprecated feature/behavior
+R Removed feature/behavior
+</code></pre>
+
+<table class="table table-bordered" style="table-layout: fixed;">
+  <thead>
+    <tr>
+      <th width="10%">
+        Version
+      </th>
+      <th width="18%">
+        Mesos Core
+      </th>
+      <th width="18%">
+        Flags
+      </th>
+      <th width="18%">
+        Framework API
+      </th>
+      <th width="18%">
+        Module API
+      </th>
+      <th width="18%">
+        Endpoints
+      </th>
+    </tr>
+  </thead>
+<tr>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Version-->
+  0.28.x
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Mesos Core-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-28-x-resource-precision">Resource Precision</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Flags-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-28-x-autherization-acls">Authentication ACLs</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Framework API-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Endpoints-->
+  </td>
+</tr>
+<tr>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Version-->
+  0.27.x
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Mesos Core-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Flags-->
+    <ul style="padding-left:10px;">
+      <li>D <a href="#0-27-x-implicit-roles">--roles</a></li>
+      <li>D <a href="#0-27-x-acl-shutdown-flag">--acls (shutdown_frameworks)</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Framework API-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-27-x-executor-lost-callback">executorLost callback</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-27-x-allocator-api">Allocator API</a></li>
+      <li>C <a href="#0-27-x-isolator-api">Isolator API</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Endpoints-->
+  </td>
+</tr>
+<tr>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Version-->
+  0.26.x
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Mesos Core-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Flags-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Framework API-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-26-x-taskstatus-reason">TaskStatus::Reason Enum</a></li>
+      <li>C <a href="#0-26-x-credential-protobuf">Credential Protobuf</a></li>
+      <li>C <a href="#0-26-x-network-info-protobuf">NetworkInfo Protobuf</a></li>
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Endpoints-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-26-x-state-endpoint">State Endpoint</a></li>
+    </ul>
+  </td>
+</tr>
+<tr>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Version-->
+  0.25.x
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Mesos Core-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Flags-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Framework API-->
+    <ul style="padding-left:10px;">
+      <li>C <a href="#0-25-x-scheduler-bindings">C++/Java/Python Scheduler Bindings</a></li?
+    </ul>
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Module API-->
+  </td>
+  <td style="word-wrap: break-word; overflow-wrap: break-word;"><!--Endpoints-->
+    <ul style="padding-left:10px;">
+      <li>D <a href="#0-25-x-json-endpoints">*.json Endpoints</a></li>
+    </ul>
+  </td>
+</tr>
+</table>
+
+
 <h2>Upgrading from 0.27.x to 0.28.x</h2>
 
+<p><a name="0-28-x-resource-precision"></a></p>
+
+<ul>
+<li>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.</li>
+</ul>
+
+
+<p><a name="0-28-x-autherization-acls"></a></p>
+
 <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>
+<li>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; if y
 ou are authorizing these operations, your ACL definitions should be updated.</li>
 </ul>
 
 
@@ -107,11 +244,37 @@
 
 <h2>Upgrading from 0.26.x to 0.27.x</h2>
 
+<p><a name="0-27-x-implicit-roles"></a></p>
+
+<ul>
+<li>Mesos 0.27 introduces the concept of <em>implicit roles</em>. In previous releases, configuring roles required specifying a static whitelist of valid role names on master startup (via the <code>--roles</code> flag). In Mesos 0.27, if <code>--roles</code> is omitted, <em>any</em> role name can be used; controlling which principals are allowed to register as which roles should be done using <a href="/documentation/latest/./authorization/">ACLs</a>. The role whitelist functionality is still supported but is deprecated.</li>
+</ul>
+
+
+<p><a name="0-27-x-allocator-api"></a></p>
+
+<ul>
+<li>The Allocator API has changed due to the introduction of implicit roles. Custom allocator implementations will need to be updated. See <a href="https://issues.apache.org/jira/browse/MESOS-4000">MESOS-4000</a> for more information.</li>
+</ul>
+
+
+<p><a name="0-27-x-executor-lost-callback"></a></p>
+
+<ul>
+<li>The <code>executorLost</code> callback in the Scheduler interface will now be called whenever the slave detects termination of a custom executor. This callback was never called in previous versions, so please make sure any framework schedulers can now safely handle this callback. Note that this callback may not be reliably delivered.</li>
+</ul>
+
+
+<p><a name="0-27-x-isolator-api"></a></p>
+
+<ul>
+<li>The isolator <code>prepare</code> interface has been changed slightly. Instead of keeping adding parameters to the <code>prepare</code> interface, we decide to use a protobuf (<code>ContainerConfig</code>). Also, we renamed <code>ContainerPrepareInfo</code> to <code>ContainerLaunchInfo</code> to better capture the purpose of this struct. See <a href="https://issues.apache.org/jira/browse/MESOS-4240">MESOS-4240</a> and <a href="https://issues.apache.org/jira/browse/MESOS-4282">MESOS-4282</a> for more information. If you are an isolator module writer, you will have to adjust your isolator module according to the new interface and re-compile with 0.27.</li>
+</ul>
+
+
+<p><a name="0-27-x-acl-shutdown-flag"></a></p>
+
 <ul>
-<li><p>Mesos 0.27 introduces the concept of <em>implicit roles</em>. In previous releases, configuring roles required specifying a static whitelist of valid role names on master startup (via the <code>--roles</code> flag). In Mesos 0.27, if <code>--roles</code> is omitted, <em>any</em> role name can be used; controlling which principals are allowed to register as which roles should be done using <a href="/documentation/latest/./authorization/">ACLs</a>. The role whitelist functionality is still supported but is deprecated.</p></li>
-<li><p>The Allocator API has changed due to the introduction of implicit roles. Custom allocator implementations will need to be updated. See <a href="https://issues.apache.org/jira/browse/MESOS-4000">MESOS-4000</a> for more information.</p></li>
-<li><p>The <code>executorLost</code> callback in the Scheduler interface will now be called whenever the slave detects termination of a custom executor. This callback was never called in previous versions, so please make sure any framework schedulers can now safely handle this callback. Note that this callback may not be reliably delivered.</p></li>
-<li><p>The isolator <code>prepare</code> interface has been changed slightly. Instead of keeping adding parameters to the <code>prepare</code> interface, we decide to use a protobuf (<code>ContainerConfig</code>). Also, we renamed <code>ContainerPrepareInfo</code> to <code>ContainerLaunchInfo</code> to better capture the purpose of this struct. See <a href="https://issues.apache.org/jira/browse/MESOS-4240">MESOS-4240</a> and <a href="https://issues.apache.org/jira/browse/MESOS-4282">MESOS-4282</a> for more information. If you are an isolator module writer, you will have to adjust your isolator module according to the new interface and re-compile with 0.27.</p></li>
 <li><p>ACLs.shutdown_frameworks has been deprecated in favor of the new ACLs.teardown_frameworks. This affects the <code>--acls</code> master flag for the local authorizer.</p></li>
 <li><p>Reserved resources are now accounted for in the DRF role sorter. Previously unaccounted reservations will influence the weighted DRF sorter. If role weights were explicitly set, they may need to be adjusted in order to account for the reserved resources in the cluster.</p></li>
 </ul>
@@ -131,6 +294,8 @@
 
 <h2>Upgrading from 0.25.x to 0.26.x</h2>
 
+<p><a name="0-26-x-taskstatus-reason"></a></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>
 
@@ -139,15 +304,33 @@
 <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>
+
+
+<p><a name="0-26-x-credential-protobuf"></a></p>
+
+<ul>
+<li>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.</li>
+</ul>
+
+
+<p><a name="0-26-x-state-endpoint"></a></p>
+
+<ul>
+<li>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>).
 
 <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><a name="0-26-x-network-info-protobuf"></a></p>
+
+<ul>
+<li>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.</li>
 </ul>
 
 
@@ -165,6 +348,8 @@
 
 <h2>Upgrading from 0.24.x to 0.25.x</h2>
 
+<p><a name="0-25-x-json-endpoints"></a></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>
 
@@ -193,7 +378,13 @@
 <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><a name="0-25-x-scheduler-bindings"></a></p>
+
+<ul>
+<li>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).</li>
 </ul>
 
 

Added: mesos/site/publish/documentation/weights/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/weights/index.html?rev=1735497&view=auto
==============================================================================
--- mesos/site/publish/documentation/weights/index.html (added)
+++ mesos/site/publish/documentation/weights/index.html Thu Mar 17 20:34:37 2016
@@ -0,0 +1,165 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta charset="utf-8">
+        <title></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">
+		    <link rel="alternate" type="application/atom+xml" title="Apache Mesos Blog" href="/blog/feed.xml">
+		    
+		    <link href="../../assets/css/main.css" media="screen" rel="stylesheet" type="text/css" />
+				
+		    
+			
+			<!-- Google Analytics Magic -->
+			<script type="text/javascript">
+			  var _gaq = _gaq || [];
+			  _gaq.push(['_setAccount', 'UA-20226872-1']);
+			  _gaq.push(['_setDomainName', 'apache.org']);
+			  _gaq.push(['_trackPageview']);
+
+			  (function() {
+			    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+			    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+			    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+			  })();
+			</script>
+    </head>
+    <body>
+			<!-- magical breadcrumbs -->
+			<div class="topnav">
+			<ul class="breadcrumb">
+			  <li>
+					<div class="dropdown">
+					  <a data-toggle="dropdown" href="#">Apache Software Foundation <span class="caret"></span></a>
+					  <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
+							<li><a href="http://www.apache.org">Apache Homepage</a></li>
+							<li><a href="http://www.apache.org/licenses/">License</a></li>
+					  	<li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+					  	<li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+							<li><a href="http://www.apache.org/security/">Security</a></li>
+					  </ul>
+					</div>
+				</li>
+				<li><a href="http://mesos.apache.org">Apache Mesos</a></li>
+				
+				
+					<li><a href="/documentation
+/">Documentation
+</a></li>
+				
+				
+			</ul><!-- /breadcrumb -->
+			</div>
+			
+			<!-- navbar excitement -->
+	    <div class="navbar navbar-static-top" role="navigation">
+	      <div class="navbar-inner">
+	        <div class="container">
+						<a href="/" class="logo"><img src="/assets/img/mesos_logo.png" alt="Apache Mesos logo" /></a>
+					<div class="nav-collapse">
+						<ul class="nav nav-pills navbar-right">
+						  <li><a href="/gettingstarted/">Getting Started</a></li>
+						  <li><a href="/documentation/latest/">Documentation</a></li>
+						  <li><a href="/downloads/">Downloads</a></li>
+						  <li><a href="/community/">Community</a></li>
+						</ul>
+					</div>
+	        </div>
+	      </div>
+	    </div><!-- /.navbar -->
+
+      <div class="container">
+
+			<div class="row-fluid">
+	<div class="col-md-4">
+		<h4>If you're new to Mesos</h4>
+		<p>See the <a href="/gettingstarted/">getting started</a> page for more information about downloading, building, and deploying Mesos.</p>
+		
+		<h4>If you'd like to get involved or you're looking for support</h4>
+		<p>See our <a href="/community/">community</a> page for more details.</p>
+	</div>
+	<div class="col-md-8">
+		<h1>Weights</h1>
+
+<p>In Mesos, <strong>weights</strong> can be used to control the relative share of cluster
+resources that is offered to different <a href="/documentation/latest/./roles/">roles</a>.</p>
+
+<p>In Mesos 0.28 and earlier, weights can only be configured by specifying
+the <code>--weights</code> command-line flag when starting the Mesos master. If a
+role does not have a weight specified in the <code>--weights</code> flag, then the default
+value (1.0) will be used. Weights cannot be changed without updating the flag
+and restarting all Mesos masters.</p>
+
+<p>Mesos 0.29 contains a <a href="/documentation/latest/./endpoints/master/weights/">/weights</a> operator endpoint
+that allows weights to be changed at runtime. The <code>--weights</code> command-line flag
+is deprecated.</p>
+
+<h1>Operator HTTP Endpoint</h1>
+
+<p>The master <code>/weights</code> HTTP endpoint enables operators to update weights. The
+endpoint currently offers a REST-like interface and only supports update
+requests using PUT.</p>
+
+<p>The endpoint can optionally use authentication and authorization. See the
+<a href="/documentation/latest/./authentication/">authentication guide</a> for details.</p>
+
+<p>An example request to the <code>/weights</code> endpoint could look like this (using the
+JSON definitions below):</p>
+
+<pre><code>$ curl -d jsonMessageBody -X PUT http://&lt;master-ip&gt;:&lt;port&gt;/weights
+</code></pre>
+
+<p>For example, to set a weight of <code>2.0</code> for <code>role1</code> and set a weight of <code>3.5</code>
+for <code>role2</code>, the operator can use the following <code>jsonMessageBody</code>:</p>
+
+<pre><code>    [
+      {
+        "role": "role1",
+        "weight": 2.0
+      },
+      {
+        "role": "role2",
+        "weight": 3.5
+      }
+    ]
+</code></pre>
+
+<p>If the master is configured with an explicit <a href="/documentation/latest/./roles/">role whitelist</a>, the
+request is only valid if all specified roles exist in the role whitelist.</p>
+
+<p>Weights are now persisted in the registry on cluster bootstrap and after any
+updates.  Once the weights are persisted in the registry, any Mesos master that
+subsequently starts with <code>--weights</code> still specified will emit a warning and use
+the registry value instead.</p>
+
+<p>The operator will receive one of the following HTTP response codes:</p>
+
+<ul>
+<li><code>200 OK</code>: Success (the update request was successful).</li>
+<li><code>400 BadRequest</code>: Invalid arguments (e.g., invalid JSON, non-positive weights).</li>
+<li><code>401 Unauthorized</code>: Unauthenticated request.</li>
+<li><code>403 Forbidden</code>: Unauthorized request.</li>
+</ul>
+
+
+	</div>
+</div>
+
+			
+	      <hr>
+
+				<!-- footer -->
+	      <div class="footer">
+	        <p>&copy; 2012-2015 <a href="http://apache.org">The Apache Software Foundation</a>.
+	        Apache Mesos, the Apache feather logo, and the Apache Mesos project logo are trademarks of The Apache Software Foundation.<p>
+	      </div><!-- /footer -->
+
+	    </div> <!-- /container -->
+
+	    <!-- JS -->
+	    <script src="//code.jquery.com/jquery-1.11.0.min.js" type="text/javascript"></script>
+			<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js" type="text/javascript"></script>
+    </body>
+</html>

Modified: mesos/site/publish/downloads/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/downloads/index.html?rev=1735497&r1=1735496&r2=1735497&view=diff
==============================================================================
--- mesos/site/publish/downloads/index.html (original)
+++ mesos/site/publish/downloads/index.html Thu Mar 17 20:34:37 2016
@@ -104,23 +104,23 @@
       <li><a href="http://archive.apache.org/dist/mesos/0.20.0/">0.20.0</a>
            (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326835">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.19.1/">0.19.1</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12327173">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12327173">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.19.0/">0.19.0</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326253">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326253">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.18.2/">0.18.2</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326851">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326851">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.18.1/">0.18.1</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326752">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326752">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.18.0/">0.18.0</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326140">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12326140">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.17.0/">0.17.0</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325669">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325669">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.16.0/">0.16.0</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325295">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325295">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.15.0/">0.15.0</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324901">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324901">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.14.2/">0.14.2</a>
-           (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325324">Release Notes</a>)</li>
+       (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12325324">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.14.1/">0.14.1</a>
            (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12324994">Release Notes</a>)</li>
       <li><a href="http://archive.apache.org/dist/mesos/0.14.0/">0.14.0</a>
@@ -143,8 +143,9 @@
   <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.2/">0.27.2</a>
-        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334913">Release Notes</a>)
+          <a
+href="http://www.apache.org/dyn/mirrors/mirrors.cgi/mesos/0.28.0/">0.28.0</a>
+        (<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311242&version=12334661">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=1735497&r1=1735496&r2=1735497&view=diff
==============================================================================
--- mesos/site/publish/gettingstarted/index.html (original)
+++ mesos/site/publish/gettingstarted/index.html Thu Mar 17 20:34:37 2016
@@ -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.2/mesos-0.27.2.tar.gz
-$ tar -zxf mesos-0.27.2.tar.gz
+<pre><code>$ wget http://www.apache.org/dist/mesos/0.28.0/mesos-0.28.0.tar.gz
+$ tar -zxf mesos-0.28.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>