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>[email protected]</td>
     </tr>
     <tr>
+      <td>-5</td>
+      <td>Kapil Arya</td>
+      <td>Mesosphere / Northeastern University</td>
+      <td></td>
+      <td>[email protected]</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>[email protected]</td>
     </tr>
     <tr>
+      <td>-5</td>
+      <td>Kapil Arya</td>
+      <td>Mesosphere / Northeastern University</td>
+      <td></td>
+      <td>[email protected]</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>


Reply via email to