You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by nn...@apache.org on 2015/10/29 18:55:21 UTC

svn commit: r1711312 [1/3] - in /mesos/site: publish/ publish/community/user-groups/ publish/documentation/committers/ publish/documentation/configuration/ publish/documentation/containerizer/ publish/documentation/docker-containerizer/ publish/documen...

Author: nnielsen
Date: Thu Oct 29 17:55:21 2015
New Revision: 1711312

URL: http://svn.apache.org/viewvc?rev=1711312&view=rev
Log:
Added Polish MUG to community list.

Documentation and pending updates (such as Kapil's committership) went into this commit as well.


Modified:
    mesos/site/publish/community/user-groups/index.html
    mesos/site/publish/documentation/committers/index.html
    mesos/site/publish/documentation/configuration/index.html
    mesos/site/publish/documentation/containerizer/index.html
    mesos/site/publish/documentation/docker-containerizer/index.html
    mesos/site/publish/documentation/fetcher/index.html
    mesos/site/publish/documentation/latest/committers/index.html
    mesos/site/publish/documentation/latest/configuration/index.html
    mesos/site/publish/documentation/latest/containerizer/index.html
    mesos/site/publish/documentation/latest/docker-containerizer/index.html
    mesos/site/publish/documentation/latest/fetcher/index.html
    mesos/site/publish/documentation/latest/oversubscription/index.html
    mesos/site/publish/documentation/latest/ssl/index.html
    mesos/site/publish/documentation/latest/submitting-a-patch/index.html
    mesos/site/publish/documentation/latest/testing-patterns/index.html
    mesos/site/publish/documentation/latest/upgrades/index.html
    mesos/site/publish/documentation/oversubscription/index.html
    mesos/site/publish/documentation/ssl/index.html
    mesos/site/publish/documentation/submitting-a-patch/index.html
    mesos/site/publish/documentation/testing-patterns/index.html
    mesos/site/publish/documentation/upgrades/index.html
    mesos/site/publish/sitemap.xml
    mesos/site/source/community/user-groups.html.md
    mesos/site/source/documentation/latest/committers.md
    mesos/site/source/documentation/latest/configuration.md
    mesos/site/source/documentation/latest/containerizer.md
    mesos/site/source/documentation/latest/docker-containerizer.md
    mesos/site/source/documentation/latest/fetcher.md
    mesos/site/source/documentation/latest/oversubscription.md
    mesos/site/source/documentation/latest/ssl.md
    mesos/site/source/documentation/latest/submitting-a-patch.md
    mesos/site/source/documentation/latest/testing-patterns.md
    mesos/site/source/documentation/latest/upgrades.md

Modified: mesos/site/publish/community/user-groups/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/community/user-groups/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/community/user-groups/index.html (original)
+++ mesos/site/publish/community/user-groups/index.html Thu Oct 29 17:55:21 2015
@@ -108,6 +108,13 @@
 </ul>
 
 
+<h3>Poland</h3>
+
+<ul>
+<li><a href="http://www.meetup.com/Warsaw-Mesos-User-Group/">Warsaw</a></li>
+</ul>
+
+
 <h3>Netherlands</h3>
 
 <ul>

Modified: mesos/site/publish/documentation/committers/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/committers/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/committers/index.html (original)
+++ mesos/site/publish/documentation/committers/index.html Thu Oct 29 17:55:21 2015
@@ -112,6 +112,13 @@
       <td>ssorallen@apache.org</td>
     </tr>
     <tr>
+      <td>-5</td>
+      <td>Kapil Arya</td>
+      <td>Mesosphere / Northeastern University</td>
+      <td></td>
+      <td>kapil@apache.org</td>
+    </tr>
+    <tr>
       <td>-8</td>
       <td>Adam B</td>
       <td>Mesosphere</td>
@@ -320,7 +327,7 @@
     </tr>
     <tr>
       <td>Modules / Hooks</td>
-      <td>Benjamin Hindman, Niklas Nielsen</td>
+      <td>Kapil Arya, Benjamin Hindman, Niklas Nielsen</td>
     </tr>
     <tr>
       <td>Oversubscription</td>

Modified: mesos/site/publish/documentation/configuration/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/configuration/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/configuration/index.html (original)
+++ mesos/site/publish/documentation/configuration/index.html Thu Oct 29 17:55:21 2015
@@ -1108,7 +1108,7 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
-      --docker_sock=VALUE
+      --docker_socket=VALUE
     </td>
     <td>
       The UNIX socket path to be mounted into the docker executor container to
@@ -1475,15 +1475,6 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
-      --resource_monitoring_interval=VALUE
-    </td>
-    <td>
-      Periodic time interval for monitoring executor
-      resource usage (e.g., 10secs, 1min, etc) (default: 1secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
       --resources=VALUE
     </td>
     <td>
@@ -1533,9 +1524,13 @@ file:///path/to/file (where file contain
       --[no-]switch_user
     </td>
     <td>
-      Whether to run tasks as the user who
-      submitted them rather than the user running
-      the slave (requires setuid permission) (default: true)
+      If set to `true`, the agent will attempt to run tasks as
+      the `user` who launched them (as defined in `FrameworkInfo`)
+      (this requires `setuid` permission and that the given `user`
+      exists on the agent).
+      If the user does not exist, an error occurs and the task will fail.
+      If set to `false`, tasks will be run as the same user as the Mesos
+      agent process.  (default: true)
     </td>
   </tr>
   <tr>
@@ -1744,6 +1739,26 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
+      --enable-libevent
+    </td>
+    <td>
+      use <a href="https://github.com/libevent/libevent">libevent</a>
+      instead of libev for the libprocess event loop [default=no].
+      Note that the libevent version 2+ development package is required
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-ssl
+    </td>
+    <td>
+      enable <a href="/documentation/latest/ssl">SSL</a> for libprocess
+      communication [default=no].
+      Note that --enable-libevent is currently required for SSL functionality
+    </td>
+  </tr>
+  <tr>
+    <td>
       --disable-libtool-lock
     </td>
     <td>
@@ -1958,12 +1973,38 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
+      --with-libevent=[=DIR]
+    </td>
+    <td>
+      specify where to locate the libevent library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-ssl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the ssl library
+    </td>
+  </tr>
+  <tr>
+    <td>
       --with-network-isolator
     </td>
     <td>
       builds the network isolator
     </td>
   </tr>
+  <tr>
+    <td>
+      --with-nl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the
+      <a href="https://www.infradead.org/~tgr/libnl/">libnl3</a> library
+      (required for the network isolator)
+    </td>
+  </tr>
 </table>
 
 

Modified: mesos/site/publish/documentation/containerizer/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/containerizer/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/containerizer/index.html (original)
+++ mesos/site/publish/documentation/containerizer/index.html Thu Oct 29 17:55:21 2015
@@ -99,7 +99,7 @@ filesystem.</p>
 
 <p>The modifications are specified in the ContainerInfo included in the
 ExecutorInfo, either by a framework or by using the
-&ndash;default_container_info slave flag.</p>
+<code>--default_container_info</code> slave flag.</p>
 
 <p>ContainerInfo specifies Volumes which map parts of the shared
 filesystem (host_path) into the container&rsquo;s view of the filesystem
@@ -113,8 +113,8 @@ must exist) in the shared filesystem.</p
 
 <p>The primary use-case for this isolator is to selectively make parts of
 the shared filesystem private to each container. For example, a
-private &ldquo;/tmp&rdquo; directory can be achieved with host_path=&ldquo;tmp&rdquo; and
-container_path=&ldquo;/tmp&rdquo; which will create a directory &ldquo;tmp&rdquo; inside the
+private &ldquo;/tmp&rdquo; directory can be achieved with <code>host_path="tmp"</code> and
+<code>container_path="/tmp"</code> which will create a directory &ldquo;tmp&rdquo; inside the
 executor&rsquo;s work directory (mode 1777) and simultaneously mount it as
 /tmp inside the container. This is transparent to processes running
 inside the container. Containers will not be able to see the host&rsquo;s
@@ -123,13 +123,17 @@ inside the container. Containers will no
 <h3>Pid Namespace</h3>
 
 <p>The Pid Namespace isolator can be used to isolate each container in
-a separate pid namespace with two main benefits:
-1. Visibility: Processes running in the container (executor and
-   descendants) are unable to see or signal processes outside the
-   namespace.
-2. Clean termination: Termination of the leading process in a pid
-   namespace will result in the kernel terminating all other processes
-   in the namespace.</p>
+a separate pid namespace with two main benefits:</p>
+
+<ol>
+<li><p>Visibility: Processes running in the container (executor and
+descendants) are unable to see or signal processes outside the
+namespace.</p></li>
+<li><p>Clean termination: Termination of the leading process in a pid
+namespace will result in the kernel terminating all other processes
+in the namespace.</p></li>
+</ol>
+
 
 <p>The Launcher will use (2) during destruction of a container in
 preference to the freezer cgroup, avoiding known kernel issues related

Modified: mesos/site/publish/documentation/docker-containerizer/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/docker-containerizer/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/docker-containerizer/index.html (original)
+++ mesos/site/publish/documentation/docker-containerizer/index.html Thu Oct 29 17:55:21 2015
@@ -93,7 +93,7 @@
 
 <p>To run the slave to enable the Docker Containerizer, you must launch the slave with &ldquo;docker&rdquo; as one of the containerizers option.</p>
 
-<p>Example: mesos-slave &ndash;containerizers=docker,mesos</p>
+<p>Example: <code>mesos-slave --containerizers=docker,mesos</code></p>
 
 <p>Each slave that has the Docker containerizer should have Docker CLI client installed (version >= 1.0.0).</p>
 
@@ -117,17 +117,19 @@ Note that the Docker image is expected t
 
 <h2>What does the Docker Containerizer do?</h2>
 
-<p>The Docker Containerizer is translating Task/Executor Launch and Destroy calls to Docker CLI commands.</p>
+<p>The Docker Containerizer is translating Task/Executor <code>Launch</code> and <code>Destroy</code> calls to Docker CLI commands.</p>
 
 <p>Currently the Docker Containerizer when launching as task will do the following:</p>
 
-<p>1, Fetch all the files specified in the CommandInfo into the sandbox.
-2, Pull the docker image from the remote repository.
-3, Run the docker image with the Docker executor, and map the sandbox directory into the Docker container and set the directory mapping to the MESOS_SANDBOX environment variable.
-   The executor will also stream the container logs into stdout/stderr files in the sandbox.
-4. On container exit or containerizer destroy, stop and remove the docker container.</p>
+<ol>
+<li><p>Fetch all the files specified in the CommandInfo into the sandbox.</p></li>
+<li><p>Pull the docker image from the remote repository.</p></li>
+<li><p>Run the docker image with the Docker executor, and map the sandbox directory into the Docker container and set the directory mapping to the MESOS_SANDBOX environment variable. The executor will also stream the container logs into stdout/stderr files in the sandbox.</p></li>
+<li><p>On container exit or containerizer destroy, stop and remove the docker container.</p></li>
+</ol>
 
-<p>The Docker Containerizer launches all containers with the &ldquo;mesos-&rdquo; prefix plus the slave id (ie: mesos-slave1-abcdefghji), and also assumes all containers with the &ldquo;mesos-&rdquo; prefix is managed by the slave and is free to stop or kill the containers.</p>
+
+<p>The Docker Containerizer launches all containers with the <code>mesos-</code> prefix plus the slave id (ie: <code>mesos-slave1-abcdefghji</code>), and also assumes all containers with the <code>mesos-</code> prefix is managed by the slave and is free to stop or kill the containers.</p>
 
 <p>When launching the docker image as an Executor, the only difference is that it skips launching a command executor but just reaps on the docker container executor pid.</p>
 
@@ -137,23 +139,23 @@ Note that the Docker image is expected t
 
 <h2>Private Docker repository</h2>
 
-<p>To run a image from a private repository, one can include the uri pointing to a .dockercfg that contains login information. The .dockercfg file will be pulled into the sandbox the Docker Containerizer
+<p>To run a image from a private repository, one can include the uri pointing to a <code>.dockercfg</code> that contains login information. The <code>.dockercfg</code> file will be pulled into the sandbox the Docker Containerizer
 set the HOME environment variable pointing to the sandbox so docker cli will automatically pick up the config file.</p>
 
 <h2>CommandInfo to run Docker images</h2>
 
 <p>A docker image currently supports having an entrypoint and/or a default command.</p>
 
-<p>To run a docker image with the default command (ie: docker run image), the CommandInfo&rsquo;s value must not be set. If the value is set then it will override the default command.</p>
+<p>To run a docker image with the default command (ie: <code>docker run image</code>), the CommandInfo&rsquo;s value must not be set. If the value is set then it will override the default command.</p>
 
 <p>To run a docker image with an entrypoint defined, the CommandInfo&rsquo;s shell option must be set to false.
-If shell option is set to true the Docker Containerizer will run the user&rsquo;s command wrapped with /bin/sh -c which will also become parameters to the image entrypoint.</p>
+If shell option is set to true the Docker Containerizer will run the user&rsquo;s command wrapped with <code>/bin/sh -c</code> which will also become parameters to the image entrypoint.</p>
 
 <h2>Recover Docker containers on slave recovery</h2>
 
 <p>The Docker containerizer supports recovering Docker containers when the slave restarts, which supports both when the slave is running in a Docker container or not.</p>
 
-<p>With the docker_mesos_image flag enabled, the Docker containerizer assumes the containerizer is running in a container itself and modifies the mechanism it recovers and launches docker containers accordingly.</p>
+<p>With the <code>--docker_mesos_image</code> flag enabled, the Docker containerizer assumes the containerizer is running in a container itself and modifies the mechanism it recovers and launches docker containers accordingly.</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/fetcher/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/fetcher/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/fetcher/index.html (original)
+++ mesos/site/publish/documentation/fetcher/index.html Thu Oct 29 17:55:21 2015
@@ -122,7 +122,7 @@ detailed fetch action descriptions.</p><
 <p>Frameworks launch tasks by calling the scheduler driver method <code>launchTasks()</code>,
 passing <code>CommandInfo</code> protobuf structures as arguments. This type of structure
 specifies (among other things) a command and a list of URIs that need to be
-&ldquo;fetched&rdquo; into the sandbox directory on the the slave node as a precondition for
+&ldquo;fetched&rdquo; into the sandbox directory on the slave node as a precondition for
 task execution. Hence, when the slave receives a request go launch a task, it
 calls upon its fetcher, first, to provision the specified resources into the
 sandbox directory. If fetching fails, the task is not started and the reported

Modified: mesos/site/publish/documentation/latest/committers/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/committers/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/committers/index.html (original)
+++ mesos/site/publish/documentation/latest/committers/index.html Thu Oct 29 17:55:21 2015
@@ -112,6 +112,13 @@
       <td>ssorallen@apache.org</td>
     </tr>
     <tr>
+      <td>-5</td>
+      <td>Kapil Arya</td>
+      <td>Mesosphere / Northeastern University</td>
+      <td></td>
+      <td>kapil@apache.org</td>
+    </tr>
+    <tr>
       <td>-8</td>
       <td>Adam B</td>
       <td>Mesosphere</td>
@@ -320,7 +327,7 @@
     </tr>
     <tr>
       <td>Modules / Hooks</td>
-      <td>Benjamin Hindman, Niklas Nielsen</td>
+      <td>Kapil Arya, Benjamin Hindman, Niklas Nielsen</td>
     </tr>
     <tr>
       <td>Oversubscription</td>

Modified: mesos/site/publish/documentation/latest/configuration/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/configuration/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/configuration/index.html (original)
+++ mesos/site/publish/documentation/latest/configuration/index.html Thu Oct 29 17:55:21 2015
@@ -1108,7 +1108,7 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
-      --docker_sock=VALUE
+      --docker_socket=VALUE
     </td>
     <td>
       The UNIX socket path to be mounted into the docker executor container to
@@ -1475,15 +1475,6 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
-      --resource_monitoring_interval=VALUE
-    </td>
-    <td>
-      Periodic time interval for monitoring executor
-      resource usage (e.g., 10secs, 1min, etc) (default: 1secs)
-    </td>
-  </tr>
-  <tr>
-    <td>
       --resources=VALUE
     </td>
     <td>
@@ -1533,9 +1524,13 @@ file:///path/to/file (where file contain
       --[no-]switch_user
     </td>
     <td>
-      Whether to run tasks as the user who
-      submitted them rather than the user running
-      the slave (requires setuid permission) (default: true)
+      If set to `true`, the agent will attempt to run tasks as
+      the `user` who launched them (as defined in `FrameworkInfo`)
+      (this requires `setuid` permission and that the given `user`
+      exists on the agent).
+      If the user does not exist, an error occurs and the task will fail.
+      If set to `false`, tasks will be run as the same user as the Mesos
+      agent process.  (default: true)
     </td>
   </tr>
   <tr>
@@ -1744,6 +1739,26 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
+      --enable-libevent
+    </td>
+    <td>
+      use <a href="https://github.com/libevent/libevent">libevent</a>
+      instead of libev for the libprocess event loop [default=no].
+      Note that the libevent version 2+ development package is required
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --enable-ssl
+    </td>
+    <td>
+      enable <a href="/documentation/latest/ssl">SSL</a> for libprocess
+      communication [default=no].
+      Note that --enable-libevent is currently required for SSL functionality
+    </td>
+  </tr>
+  <tr>
+    <td>
       --disable-libtool-lock
     </td>
     <td>
@@ -1958,12 +1973,38 @@ file:///path/to/file (where file contain
   </tr>
   <tr>
     <td>
+      --with-libevent=[=DIR]
+    </td>
+    <td>
+      specify where to locate the libevent library
+    </td>
+  </tr>
+  <tr>
+    <td>
+      --with-ssl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the ssl library
+    </td>
+  </tr>
+  <tr>
+    <td>
       --with-network-isolator
     </td>
     <td>
       builds the network isolator
     </td>
   </tr>
+  <tr>
+    <td>
+      --with-nl=[=DIR]
+    </td>
+    <td>
+      specify where to locate the
+      <a href="https://www.infradead.org/~tgr/libnl/">libnl3</a> library
+      (required for the network isolator)
+    </td>
+  </tr>
 </table>
 
 

Modified: mesos/site/publish/documentation/latest/containerizer/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/containerizer/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/containerizer/index.html (original)
+++ mesos/site/publish/documentation/latest/containerizer/index.html Thu Oct 29 17:55:21 2015
@@ -99,7 +99,7 @@ filesystem.</p>
 
 <p>The modifications are specified in the ContainerInfo included in the
 ExecutorInfo, either by a framework or by using the
-&ndash;default_container_info slave flag.</p>
+<code>--default_container_info</code> slave flag.</p>
 
 <p>ContainerInfo specifies Volumes which map parts of the shared
 filesystem (host_path) into the container&rsquo;s view of the filesystem
@@ -113,8 +113,8 @@ must exist) in the shared filesystem.</p
 
 <p>The primary use-case for this isolator is to selectively make parts of
 the shared filesystem private to each container. For example, a
-private &ldquo;/tmp&rdquo; directory can be achieved with host_path=&ldquo;tmp&rdquo; and
-container_path=&ldquo;/tmp&rdquo; which will create a directory &ldquo;tmp&rdquo; inside the
+private &ldquo;/tmp&rdquo; directory can be achieved with <code>host_path="tmp"</code> and
+<code>container_path="/tmp"</code> which will create a directory &ldquo;tmp&rdquo; inside the
 executor&rsquo;s work directory (mode 1777) and simultaneously mount it as
 /tmp inside the container. This is transparent to processes running
 inside the container. Containers will not be able to see the host&rsquo;s
@@ -123,13 +123,17 @@ inside the container. Containers will no
 <h3>Pid Namespace</h3>
 
 <p>The Pid Namespace isolator can be used to isolate each container in
-a separate pid namespace with two main benefits:
-1. Visibility: Processes running in the container (executor and
-   descendants) are unable to see or signal processes outside the
-   namespace.
-2. Clean termination: Termination of the leading process in a pid
-   namespace will result in the kernel terminating all other processes
-   in the namespace.</p>
+a separate pid namespace with two main benefits:</p>
+
+<ol>
+<li><p>Visibility: Processes running in the container (executor and
+descendants) are unable to see or signal processes outside the
+namespace.</p></li>
+<li><p>Clean termination: Termination of the leading process in a pid
+namespace will result in the kernel terminating all other processes
+in the namespace.</p></li>
+</ol>
+
 
 <p>The Launcher will use (2) during destruction of a container in
 preference to the freezer cgroup, avoiding known kernel issues related

Modified: mesos/site/publish/documentation/latest/docker-containerizer/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/docker-containerizer/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/docker-containerizer/index.html (original)
+++ mesos/site/publish/documentation/latest/docker-containerizer/index.html Thu Oct 29 17:55:21 2015
@@ -93,7 +93,7 @@
 
 <p>To run the slave to enable the Docker Containerizer, you must launch the slave with &ldquo;docker&rdquo; as one of the containerizers option.</p>
 
-<p>Example: mesos-slave &ndash;containerizers=docker,mesos</p>
+<p>Example: <code>mesos-slave --containerizers=docker,mesos</code></p>
 
 <p>Each slave that has the Docker containerizer should have Docker CLI client installed (version >= 1.0.0).</p>
 
@@ -117,17 +117,19 @@ Note that the Docker image is expected t
 
 <h2>What does the Docker Containerizer do?</h2>
 
-<p>The Docker Containerizer is translating Task/Executor Launch and Destroy calls to Docker CLI commands.</p>
+<p>The Docker Containerizer is translating Task/Executor <code>Launch</code> and <code>Destroy</code> calls to Docker CLI commands.</p>
 
 <p>Currently the Docker Containerizer when launching as task will do the following:</p>
 
-<p>1, Fetch all the files specified in the CommandInfo into the sandbox.
-2, Pull the docker image from the remote repository.
-3, Run the docker image with the Docker executor, and map the sandbox directory into the Docker container and set the directory mapping to the MESOS_SANDBOX environment variable.
-   The executor will also stream the container logs into stdout/stderr files in the sandbox.
-4. On container exit or containerizer destroy, stop and remove the docker container.</p>
+<ol>
+<li><p>Fetch all the files specified in the CommandInfo into the sandbox.</p></li>
+<li><p>Pull the docker image from the remote repository.</p></li>
+<li><p>Run the docker image with the Docker executor, and map the sandbox directory into the Docker container and set the directory mapping to the MESOS_SANDBOX environment variable. The executor will also stream the container logs into stdout/stderr files in the sandbox.</p></li>
+<li><p>On container exit or containerizer destroy, stop and remove the docker container.</p></li>
+</ol>
 
-<p>The Docker Containerizer launches all containers with the &ldquo;mesos-&rdquo; prefix plus the slave id (ie: mesos-slave1-abcdefghji), and also assumes all containers with the &ldquo;mesos-&rdquo; prefix is managed by the slave and is free to stop or kill the containers.</p>
+
+<p>The Docker Containerizer launches all containers with the <code>mesos-</code> prefix plus the slave id (ie: <code>mesos-slave1-abcdefghji</code>), and also assumes all containers with the <code>mesos-</code> prefix is managed by the slave and is free to stop or kill the containers.</p>
 
 <p>When launching the docker image as an Executor, the only difference is that it skips launching a command executor but just reaps on the docker container executor pid.</p>
 
@@ -137,23 +139,23 @@ Note that the Docker image is expected t
 
 <h2>Private Docker repository</h2>
 
-<p>To run a image from a private repository, one can include the uri pointing to a .dockercfg that contains login information. The .dockercfg file will be pulled into the sandbox the Docker Containerizer
+<p>To run a image from a private repository, one can include the uri pointing to a <code>.dockercfg</code> that contains login information. The <code>.dockercfg</code> file will be pulled into the sandbox the Docker Containerizer
 set the HOME environment variable pointing to the sandbox so docker cli will automatically pick up the config file.</p>
 
 <h2>CommandInfo to run Docker images</h2>
 
 <p>A docker image currently supports having an entrypoint and/or a default command.</p>
 
-<p>To run a docker image with the default command (ie: docker run image), the CommandInfo&rsquo;s value must not be set. If the value is set then it will override the default command.</p>
+<p>To run a docker image with the default command (ie: <code>docker run image</code>), the CommandInfo&rsquo;s value must not be set. If the value is set then it will override the default command.</p>
 
 <p>To run a docker image with an entrypoint defined, the CommandInfo&rsquo;s shell option must be set to false.
-If shell option is set to true the Docker Containerizer will run the user&rsquo;s command wrapped with /bin/sh -c which will also become parameters to the image entrypoint.</p>
+If shell option is set to true the Docker Containerizer will run the user&rsquo;s command wrapped with <code>/bin/sh -c</code> which will also become parameters to the image entrypoint.</p>
 
 <h2>Recover Docker containers on slave recovery</h2>
 
 <p>The Docker containerizer supports recovering Docker containers when the slave restarts, which supports both when the slave is running in a Docker container or not.</p>
 
-<p>With the docker_mesos_image flag enabled, the Docker containerizer assumes the containerizer is running in a container itself and modifies the mechanism it recovers and launches docker containers accordingly.</p>
+<p>With the <code>--docker_mesos_image</code> flag enabled, the Docker containerizer assumes the containerizer is running in a container itself and modifies the mechanism it recovers and launches docker containers accordingly.</p>
 
 	</div>
 </div>

Modified: mesos/site/publish/documentation/latest/fetcher/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/fetcher/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/fetcher/index.html (original)
+++ mesos/site/publish/documentation/latest/fetcher/index.html Thu Oct 29 17:55:21 2015
@@ -122,7 +122,7 @@ detailed fetch action descriptions.</p><
 <p>Frameworks launch tasks by calling the scheduler driver method <code>launchTasks()</code>,
 passing <code>CommandInfo</code> protobuf structures as arguments. This type of structure
 specifies (among other things) a command and a list of URIs that need to be
-&ldquo;fetched&rdquo; into the sandbox directory on the the slave node as a precondition for
+&ldquo;fetched&rdquo; into the sandbox directory on the slave node as a precondition for
 task execution. Hence, when the slave receives a request go launch a task, it
 calls upon its fetcher, first, to provision the specified resources into the
 sandbox directory. If fetching fails, the task is not started and the reported

Modified: mesos/site/publish/documentation/latest/oversubscription/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/oversubscription/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/oversubscription/index.html (original)
+++ mesos/site/publish/documentation/latest/oversubscription/index.html Thu Oct 29 17:55:21 2015
@@ -356,16 +356,6 @@ between these corrections is controlled
     </td>
   </tr>
 
-  <tr>
-    <td>
-      --resource_monitoring_interval=VALUE
-    </td>
-    <td>
-      Periodic time interval for monitoring executor resource usage (e.g.,
-10secs, 1min, etc) (default: 1secs)
-    </td>
-  </tr>
-
 </table>
 
 

Modified: mesos/site/publish/documentation/latest/ssl/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/ssl/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/ssl/index.html (original)
+++ mesos/site/publish/documentation/latest/ssl/index.html Thu Oct 29 17:55:21 2015
@@ -81,7 +81,13 @@
 		<p>See our <a href="/community/">community</a> page for more details.</p>
 	</div>
 	<div class="col-md-8">
-		<h1>Configuration</h1>
+		<h1>SSL in Mesos</h1>
+
+<p>By default, all the messages that flow through the Mesos cluster are unencrypted, making it possible for anyone with access to the cluster to intercept and potentially control arbitrary tasks.</p>
+
+<p>SSL/TLS support was added to libprocess in Mesos 0.23.0, which encypts the low-level communication that Mesos uses for network communication between Mesos components.  Additionally, HTTPS support was added to the Mesos WebUI.</p>
+
+<h1>Configuration</h1>
 
 <p>There is currently only one implementation of the <a href="https://github.com/apache/mesos/blob/master/3rdparty/libprocess/include/process/socket.hpp">libprocess socket interface</a> that supports SSL. This implementation uses <a href="https://github.com/libevent/libevent">libevent</a>. Specifically it relies on the <code>libevent-openssl</code> library that wraps <code>openssl</code>.</p>
 
@@ -96,19 +102,27 @@
 
 <h4>SSL_ENABLED=(false|0,true|1) [default=false|0]</h4>
 
-<p>Turn on or off SSL. When it is turned off it is the equivalent of default mesos with libevent as the backing for events. All sockets default to the non-SSL implementation. When it is turned on, the default configuration for sockets is SSL. This means outgoing connections will use SSL, and incoming connections will be expected to speak SSL as well. None of the below flags are relevant if SSL is not enabled.</p>
+<p>Turn on or off SSL. When it is turned off it is the equivalent of default mesos with libevent as the backing for events. All sockets default to the non-SSL implementation. When it is turned on, the default configuration for sockets is SSL. This means outgoing connections will use SSL, and incoming connections will be expected to speak SSL as well. None of the below flags are relevant if SSL is not enabled.  If SSL is enabled, <code>SSL_CERT_FILE</code> and <code>SSL_KEY_FILE</code> must be supplied.</p>
 
 <h4>SSL_SUPPORT_DOWNGRADE=(false|0,true|1) [default=false|0]</h4>
 
 <p>Control whether or not non-SSL connections can be established. If this is enabled <strong>on the accepting side</strong>, then the accepting side will downgrade to a non-SSL socket if the connecting side is attempting to communicate via non-SSL. (e.g. HTTP). See <a href="#Upgrading">Upgrading Your Cluster</a> for more details.</p>
 
+<h4>SSL_KEY_FILE=(path to key)</h4>
+
+<p>The location of the private key used by OpenSSL.</p>
+
+<pre><code>// For example, to generate a key with OpenSSL:
+openssl genrsa -des3 -f4 -passout pass:some_password -out key.pem 4096
+</code></pre>
+
 <h4>SSL_CERT_FILE=(path to certificate)</h4>
 
 <p>The location of the certificate that will be presented.</p>
 
-<h4>SSL_KEY_FILE=(path to key)</h4>
-
-<p>The location of the private key used by OpenSSL.</p>
+<pre><code>// For example, to generate a certificate with OpenSSL:
+openssl req -new -x509 -passin pass:some_password -days 365 -key key.pem -out cert.pem
+</code></pre>
 
 <h4>SSL_VERIFY_CERT=(false|0,true|1) [default=false|0]</h4>
 
@@ -185,6 +199,8 @@ SSL_ENABLED=true SSL_SUPPORT_DOWNGRADE=f
 
 <p>The default Mesos WebUI uses relative links. Some of these links transition between endpoints served by the master and slaves. The WebUI currently does not have enough information to change the &lsquo;http&rsquo; vs &lsquo;https&rsquo; links based on whether the target endpoint is currently being served by an SSL-enabled binary. This may cause certain links in the WebUI to be broken when a cluster is in a transition state between SSL and non-SSL. Any tools that hit these endpoints will still be able to access them as long as they hit the endpoint using the right protocol, or the <code>SSL_SUPPORT_DOWNGRADE</code> option is set to true.</p>
 
+<p><strong>NOTE:</strong> Frameworks with their own WebUI will need to add HTTPS support separately.</p>
+
 <h3>Certificates</h3>
 
 <p>Most browsers have built in protection that guard transitions between pages served using different certificates. For this reason you may choose to serve both the master and slave endpoints using a common certificate that covers multiple hostnames. If you do not do this, certain links, such as those to slave sandboxes, may seem broken as the browser treats the transition between differing certificates transition as unsafe.</p>

Modified: mesos/site/publish/documentation/latest/submitting-a-patch/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/submitting-a-patch/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/submitting-a-patch/index.html (original)
+++ mesos/site/publish/documentation/latest/submitting-a-patch/index.html Thu Oct 29 17:55:21 2015
@@ -150,6 +150,7 @@
 <li><p>Make sure that all of the unit tests pass, including the new test cases you have added: <code>make check</code>.</p>
 
 <ol>
+<li>To build all tests without executing them, use something like: <code>make tests</code>.</li>
 <li>To execute a single unit test (helpful when trying to debug a test case failure), use something like: <code>make check GTEST_FILTER="HTTPTest.Delete"</code>.</li>
 </ol>
 </li>

Modified: mesos/site/publish/documentation/latest/testing-patterns/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/testing-patterns/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/testing-patterns/index.html (original)
+++ mesos/site/publish/documentation/latest/testing-patterns/index.html Thu Oct 29 17:55:21 2015
@@ -85,6 +85,69 @@
 
 <p>A collection of common testing patterns used in Mesos tests. If you have found a good way to test a certain condition that you think may be useful for other cases, please document it here together with motivation and background.</p>
 
+<h2>Expediting events with <code>Clock</code></h2>
+
+<p>Some events in Mesos are separated by certain timeouts, for example framework registration attempts. Simple waiting for such events to fire leads to blocking the test thread for the duration of the associated timeout. This increases the duration of <code>make check</code> for no good reason.</p>
+
+<p>If an event is triggered by an act of processing a message from an actor&rsquo;s mailbox, it can be expedited with the help of libprocess' <code>Clock</code> routines. Delayed messages are maintained in sorted order by their due time and are dispatched — i.e. pushed into destination mailboxes — when this time comes. An important bit here is that time is driven by the internal libprocess clock. We can shift this clock into the future by calling <code>Clock::advance(&lt;duration&gt;)</code>, rendering certain front messages in the collection due now. These messages are dispatched instantly, effectively overriding the associated event&rsquo;s timeout.</p>
+
+<p><strong>NOTE</strong>: Without calling <code>Clock::settle()</code> there is no guarantee a dispatched message has been already processed.</p>
+
+<p>Below is an example of this pattern. To avoid master backlogging, Mesos frameworks usually wait for some time (backoff) before retrying registration. In the test below we simulate the loss of a registration request, but avoid blocking the test for the backoff duration.</p>
+
+<pre><code class="{.cpp}">TEST_F(FaultToleranceTest, FrameworkReliableRegistration)
+{
+  Try&lt;PID&lt;Master&gt;&gt; master = StartMaster();
+  ASSERT_SOME(master);
+
+  Try&lt;PID&lt;Slave&gt;&gt; slave = StartSlave();
+  ASSERT_SOME(slave);
+
+  // As a side effect of driver instantiation, registration backoff will be set
+  // to a default: internal::scheduler::REGISTRATION_BACKOFF_FACTOR.
+  MockScheduler sched;
+  MesosSchedulerDriver driver(
+      &amp;sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+
+  Future&lt;Nothing&gt; registered;
+  EXPECT_CALL(sched, registered(&amp;driver, _, _))
+    .WillOnce(FutureSatisfy(&amp;registered));
+
+  EXPECT_CALL(sched, resourceOffers(&amp;driver, _))
+    .WillRepeatedly(Return());
+
+  EXPECT_CALL(sched, offerRescinded(&amp;driver, _))
+    .Times(AtMost(1));
+
+  Future&lt;AuthenticateMessage&gt; authenticateMessage =
+    FUTURE_PROTOBUF(AuthenticateMessage(), _, master.get());
+
+  // Drop the first framework registered message, allow subsequent messages.
+  Future&lt;FrameworkRegisteredMessage&gt; frameworkRegisteredMessage =
+    DROP_PROTOBUF(FrameworkRegisteredMessage(), master.get(), _);
+
+  driver.start();
+
+  // Ensure authentication occurs.
+  AWAIT_READY(authenticateMessage);
+
+  AWAIT_READY(frameworkRegisteredMessage);
+
+  // Trigger the registration retry instantly to avoid blocking the test.
+  Clock::pause();
+  Clock::advance(internal::scheduler::REGISTRATION_BACKOFF_FACTOR);
+
+  AWAIT_READY(registered); // Ensures registered message is received.
+
+  driver.stop();
+  driver.join();
+
+  Shutdown();
+
+  Clock::resume();
+}
+</code></pre>
+
 <h2>Using <code>Clock</code> magic to ensure an event is processed</h2>
 
 <p>Scheduling a sequence of events in an asynchronous environment is not easy: a function call usually initiates an action and returns immediately, while the action runs in background. A simple, obvious, and bad solution is to use <code>os::sleep()</code> to wait for action completion. The time the action needs to finish may vary on different machines, while increasing sleep duration increases the test execution time and slows down <code>make check</code>. One of the right ways to do it is to wait for an action to finish and proceed right after. This is possible using libprocess' <code>Clock</code> routines.</p>

Modified: mesos/site/publish/documentation/latest/upgrades/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/latest/upgrades/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/latest/upgrades/index.html (original)
+++ mesos/site/publish/documentation/latest/upgrades/index.html Thu Oct 29 17:55:21 2015
@@ -85,6 +85,16 @@
 
 <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.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>REASON_MEM_LIMIT -> REASON_CONTAINER_LIMITATION_MEMORY</li>
+<li>REASON_EXECUTOR_PREEMPTED -> REASON_CONTAINER_PREEMPTED</li>
+</ul>
+
+
 <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>
@@ -115,6 +125,8 @@
 </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>

Modified: mesos/site/publish/documentation/oversubscription/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/oversubscription/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/oversubscription/index.html (original)
+++ mesos/site/publish/documentation/oversubscription/index.html Thu Oct 29 17:55:21 2015
@@ -356,16 +356,6 @@ between these corrections is controlled
     </td>
   </tr>
 
-  <tr>
-    <td>
-      --resource_monitoring_interval=VALUE
-    </td>
-    <td>
-      Periodic time interval for monitoring executor resource usage (e.g.,
-10secs, 1min, etc) (default: 1secs)
-    </td>
-  </tr>
-
 </table>
 
 

Modified: mesos/site/publish/documentation/ssl/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/ssl/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/ssl/index.html (original)
+++ mesos/site/publish/documentation/ssl/index.html Thu Oct 29 17:55:21 2015
@@ -81,7 +81,13 @@
 		<p>See our <a href="/community/">community</a> page for more details.</p>
 	</div>
 	<div class="col-md-8">
-		<h1>Configuration</h1>
+		<h1>SSL in Mesos</h1>
+
+<p>By default, all the messages that flow through the Mesos cluster are unencrypted, making it possible for anyone with access to the cluster to intercept and potentially control arbitrary tasks.</p>
+
+<p>SSL/TLS support was added to libprocess in Mesos 0.23.0, which encypts the low-level communication that Mesos uses for network communication between Mesos components.  Additionally, HTTPS support was added to the Mesos WebUI.</p>
+
+<h1>Configuration</h1>
 
 <p>There is currently only one implementation of the <a href="https://github.com/apache/mesos/blob/master/3rdparty/libprocess/include/process/socket.hpp">libprocess socket interface</a> that supports SSL. This implementation uses <a href="https://github.com/libevent/libevent">libevent</a>. Specifically it relies on the <code>libevent-openssl</code> library that wraps <code>openssl</code>.</p>
 
@@ -96,19 +102,27 @@
 
 <h4>SSL_ENABLED=(false|0,true|1) [default=false|0]</h4>
 
-<p>Turn on or off SSL. When it is turned off it is the equivalent of default mesos with libevent as the backing for events. All sockets default to the non-SSL implementation. When it is turned on, the default configuration for sockets is SSL. This means outgoing connections will use SSL, and incoming connections will be expected to speak SSL as well. None of the below flags are relevant if SSL is not enabled.</p>
+<p>Turn on or off SSL. When it is turned off it is the equivalent of default mesos with libevent as the backing for events. All sockets default to the non-SSL implementation. When it is turned on, the default configuration for sockets is SSL. This means outgoing connections will use SSL, and incoming connections will be expected to speak SSL as well. None of the below flags are relevant if SSL is not enabled.  If SSL is enabled, <code>SSL_CERT_FILE</code> and <code>SSL_KEY_FILE</code> must be supplied.</p>
 
 <h4>SSL_SUPPORT_DOWNGRADE=(false|0,true|1) [default=false|0]</h4>
 
 <p>Control whether or not non-SSL connections can be established. If this is enabled <strong>on the accepting side</strong>, then the accepting side will downgrade to a non-SSL socket if the connecting side is attempting to communicate via non-SSL. (e.g. HTTP). See <a href="#Upgrading">Upgrading Your Cluster</a> for more details.</p>
 
+<h4>SSL_KEY_FILE=(path to key)</h4>
+
+<p>The location of the private key used by OpenSSL.</p>
+
+<pre><code>// For example, to generate a key with OpenSSL:
+openssl genrsa -des3 -f4 -passout pass:some_password -out key.pem 4096
+</code></pre>
+
 <h4>SSL_CERT_FILE=(path to certificate)</h4>
 
 <p>The location of the certificate that will be presented.</p>
 
-<h4>SSL_KEY_FILE=(path to key)</h4>
-
-<p>The location of the private key used by OpenSSL.</p>
+<pre><code>// For example, to generate a certificate with OpenSSL:
+openssl req -new -x509 -passin pass:some_password -days 365 -key key.pem -out cert.pem
+</code></pre>
 
 <h4>SSL_VERIFY_CERT=(false|0,true|1) [default=false|0]</h4>
 
@@ -185,6 +199,8 @@ SSL_ENABLED=true SSL_SUPPORT_DOWNGRADE=f
 
 <p>The default Mesos WebUI uses relative links. Some of these links transition between endpoints served by the master and slaves. The WebUI currently does not have enough information to change the &lsquo;http&rsquo; vs &lsquo;https&rsquo; links based on whether the target endpoint is currently being served by an SSL-enabled binary. This may cause certain links in the WebUI to be broken when a cluster is in a transition state between SSL and non-SSL. Any tools that hit these endpoints will still be able to access them as long as they hit the endpoint using the right protocol, or the <code>SSL_SUPPORT_DOWNGRADE</code> option is set to true.</p>
 
+<p><strong>NOTE:</strong> Frameworks with their own WebUI will need to add HTTPS support separately.</p>
+
 <h3>Certificates</h3>
 
 <p>Most browsers have built in protection that guard transitions between pages served using different certificates. For this reason you may choose to serve both the master and slave endpoints using a common certificate that covers multiple hostnames. If you do not do this, certain links, such as those to slave sandboxes, may seem broken as the browser treats the transition between differing certificates transition as unsafe.</p>

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=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/submitting-a-patch/index.html (original)
+++ mesos/site/publish/documentation/submitting-a-patch/index.html Thu Oct 29 17:55:21 2015
@@ -150,6 +150,7 @@
 <li><p>Make sure that all of the unit tests pass, including the new test cases you have added: <code>make check</code>.</p>
 
 <ol>
+<li>To build all tests without executing them, use something like: <code>make tests</code>.</li>
 <li>To execute a single unit test (helpful when trying to debug a test case failure), use something like: <code>make check GTEST_FILTER="HTTPTest.Delete"</code>.</li>
 </ol>
 </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=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/testing-patterns/index.html (original)
+++ mesos/site/publish/documentation/testing-patterns/index.html Thu Oct 29 17:55:21 2015
@@ -85,6 +85,69 @@
 
 <p>A collection of common testing patterns used in Mesos tests. If you have found a good way to test a certain condition that you think may be useful for other cases, please document it here together with motivation and background.</p>
 
+<h2>Expediting events with <code>Clock</code></h2>
+
+<p>Some events in Mesos are separated by certain timeouts, for example framework registration attempts. Simple waiting for such events to fire leads to blocking the test thread for the duration of the associated timeout. This increases the duration of <code>make check</code> for no good reason.</p>
+
+<p>If an event is triggered by an act of processing a message from an actor&rsquo;s mailbox, it can be expedited with the help of libprocess' <code>Clock</code> routines. Delayed messages are maintained in sorted order by their due time and are dispatched — i.e. pushed into destination mailboxes — when this time comes. An important bit here is that time is driven by the internal libprocess clock. We can shift this clock into the future by calling <code>Clock::advance(&lt;duration&gt;)</code>, rendering certain front messages in the collection due now. These messages are dispatched instantly, effectively overriding the associated event&rsquo;s timeout.</p>
+
+<p><strong>NOTE</strong>: Without calling <code>Clock::settle()</code> there is no guarantee a dispatched message has been already processed.</p>
+
+<p>Below is an example of this pattern. To avoid master backlogging, Mesos frameworks usually wait for some time (backoff) before retrying registration. In the test below we simulate the loss of a registration request, but avoid blocking the test for the backoff duration.</p>
+
+<pre><code class="{.cpp}">TEST_F(FaultToleranceTest, FrameworkReliableRegistration)
+{
+  Try&lt;PID&lt;Master&gt;&gt; master = StartMaster();
+  ASSERT_SOME(master);
+
+  Try&lt;PID&lt;Slave&gt;&gt; slave = StartSlave();
+  ASSERT_SOME(slave);
+
+  // As a side effect of driver instantiation, registration backoff will be set
+  // to a default: internal::scheduler::REGISTRATION_BACKOFF_FACTOR.
+  MockScheduler sched;
+  MesosSchedulerDriver driver(
+      &amp;sched, DEFAULT_FRAMEWORK_INFO, master.get(), DEFAULT_CREDENTIAL);
+
+  Future&lt;Nothing&gt; registered;
+  EXPECT_CALL(sched, registered(&amp;driver, _, _))
+    .WillOnce(FutureSatisfy(&amp;registered));
+
+  EXPECT_CALL(sched, resourceOffers(&amp;driver, _))
+    .WillRepeatedly(Return());
+
+  EXPECT_CALL(sched, offerRescinded(&amp;driver, _))
+    .Times(AtMost(1));
+
+  Future&lt;AuthenticateMessage&gt; authenticateMessage =
+    FUTURE_PROTOBUF(AuthenticateMessage(), _, master.get());
+
+  // Drop the first framework registered message, allow subsequent messages.
+  Future&lt;FrameworkRegisteredMessage&gt; frameworkRegisteredMessage =
+    DROP_PROTOBUF(FrameworkRegisteredMessage(), master.get(), _);
+
+  driver.start();
+
+  // Ensure authentication occurs.
+  AWAIT_READY(authenticateMessage);
+
+  AWAIT_READY(frameworkRegisteredMessage);
+
+  // Trigger the registration retry instantly to avoid blocking the test.
+  Clock::pause();
+  Clock::advance(internal::scheduler::REGISTRATION_BACKOFF_FACTOR);
+
+  AWAIT_READY(registered); // Ensures registered message is received.
+
+  driver.stop();
+  driver.join();
+
+  Shutdown();
+
+  Clock::resume();
+}
+</code></pre>
+
 <h2>Using <code>Clock</code> magic to ensure an event is processed</h2>
 
 <p>Scheduling a sequence of events in an asynchronous environment is not easy: a function call usually initiates an action and returns immediately, while the action runs in background. A simple, obvious, and bad solution is to use <code>os::sleep()</code> to wait for action completion. The time the action needs to finish may vary on different machines, while increasing sleep duration increases the test execution time and slows down <code>make check</code>. One of the right ways to do it is to wait for an action to finish and proceed right after. This is possible using libprocess' <code>Clock</code> routines.</p>

Modified: mesos/site/publish/documentation/upgrades/index.html
URL: http://svn.apache.org/viewvc/mesos/site/publish/documentation/upgrades/index.html?rev=1711312&r1=1711311&r2=1711312&view=diff
==============================================================================
--- mesos/site/publish/documentation/upgrades/index.html (original)
+++ mesos/site/publish/documentation/upgrades/index.html Thu Oct 29 17:55:21 2015
@@ -85,6 +85,16 @@
 
 <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.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>REASON_MEM_LIMIT -> REASON_CONTAINER_LIMITATION_MEMORY</li>
+<li>REASON_EXECUTOR_PREEMPTED -> REASON_CONTAINER_PREEMPTED</li>
+</ul>
+
+
 <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>
@@ -115,6 +125,8 @@
 </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>