aurora-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r1751733 [6/18] - in /aurora/site: data/ publish/ publish/blog/ publish/blog/aurora-0-15-0-released/ publish/documentation/0.10.0/ publish/documentation/0.10.0/build-system/ publish/documentation/0.10.0/client-cluster-configuration/ publish...
Date Wed, 06 Jul 2016 21:22:40 GMT
Added: aurora/site/publish/documentation/0.15.0/getting-started/tutorial/index.html
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/getting-started/tutorial/index.html?rev=1751733&view=auto
==============================================================================
--- aurora/site/publish/documentation/0.15.0/getting-started/tutorial/index.html (added)
+++ aurora/site/publish/documentation/0.15.0/getting-started/tutorial/index.html Wed Jul  6 21:22:35 2016
@@ -0,0 +1,379 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+    <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+    <ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>
+	
+    <div class="container-fluid">
+      <div class="container content">
+        <div class="col-md-12 documentation">
+<h5 class="page-header text-uppercase">Documentation
+<select onChange="window.location.href='/documentation/' + this.value + '/getting-started/tutorial/'"
+        value="0.15.0">
+  <option value="0.15.0"
+    selected="selected">
+    0.15.0
+      (latest)
+  </option>
+  <option value="0.14.0"
+    >
+    0.14.0
+  </option>
+  <option value="0.13.0"
+    >
+    0.13.0
+  </option>
+  <option value="0.12.0"
+    >
+    0.12.0
+  </option>
+  <option value="0.11.0"
+    >
+    0.11.0
+  </option>
+  <option value="0.10.0"
+    >
+    0.10.0
+  </option>
+  <option value="0.9.0"
+    >
+    0.9.0
+  </option>
+  <option value="0.8.0"
+    >
+    0.8.0
+  </option>
+  <option value="0.7.0-incubating"
+    >
+    0.7.0-incubating
+  </option>
+  <option value="0.6.0-incubating"
+    >
+    0.6.0-incubating
+  </option>
+  <option value="0.5.0-incubating"
+    >
+    0.5.0-incubating
+  </option>
+</select>
+</h5>
+<h1 id="aurora-tutorial">Aurora Tutorial</h1>
+
+<p>This tutorial shows how to use the Aurora scheduler to run (and &ldquo;<code>printf-debug</code>&rdquo;)
+a hello world program on Mesos. This is the recommended document for new Aurora users
+to start getting up to speed on the system.</p>
+
+<ul>
+<li><a href="#setup-install-aurora">Prerequisite</a></li>
+<li><a href="#the-script">The Script</a></li>
+<li><a href="#aurora-configuration">Aurora Configuration</a></li>
+<li><a href="#creating-the-job">Creating the Job</a></li>
+<li><a href="#watching-the-job-run">Watching the Job Run</a></li>
+<li><a href="#cleanup">Cleanup</a></li>
+<li><a href="#next-steps">Next Steps</a></li>
+</ul>
+
+<h2 id="prerequisite">Prerequisite</h2>
+
+<p>This tutorial assumes you are running <a href="../vagrant/">Aurora locally using Vagrant</a>.
+However, in general the instructions are also applicable to any other
+<a href="../../operations/installation/">Aurora installation</a>.</p>
+
+<p>Unless otherwise stated, all commands are to be run from the root of the aurora
+repository clone.</p>
+
+<h2 id="the-script">The Script</h2>
+
+<p>Our &ldquo;hello world&rdquo; application is a simple Python script that loops
+forever, displaying the time every few seconds. Copy the code below and
+put it in a file named <code>hello_world.py</code> in the root of your Aurora repository clone
+(Note: this directory is the same as <code>/vagrant</code> inside the Vagrant VMs).</p>
+
+<p>The script has an intentional bug, which we will explain later on.</p>
+
+<!-- NOTE: If you are changing this file, be sure to also update examples/vagrant/test_tutorial.sh.
+-->
+<pre class="highlight python"><code><span style="color: #000000;font-weight: bold">import</span> <span style="color: #555555">time</span>
+
+<span style="color: #000000;font-weight: bold">def</span> <span style="color: #990000;font-weight: bold">main</span><span style="background-color: #f8f8f8">():</span>
+  <span style="background-color: #f8f8f8">SLEEP_DELAY</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #009999">10</span>
+  <span style="color: #999988;font-style: italic"># Python experts - ignore this blatant bug.</span>
+  <span style="color: #000000;font-weight: bold">for</span> <span style="background-color: #f8f8f8">i</span> <span style="color: #000000;font-weight: bold">in</span> <span style="background-color: #f8f8f8">xrang</span><span style="background-color: #f8f8f8">(</span><span style="color: #009999">100</span><span style="background-color: #f8f8f8">):</span>
+    <span style="color: #000000;font-weight: bold">print</span><span style="background-color: #f8f8f8">(</span><span style="color: #d14">"Hello world! The time is now: </span><span style="color: #d14">%</span><span style="color: #d14">s. Sleeping for </span><span style="color: #d14">%</span><span style="color: #d14">d secs"</span> <span style="color: #000000;font-weight: bold">%</span> <span style="background-color: #f8f8f8">(</span>
+      <span style="background-color: #f8f8f8">time</span><span style="color: #000000;font-weight: bold">.</span><span style="background-color: #f8f8f8">asctime</span><span style="background-color: #f8f8f8">(),</span> <span style="background-color: #f8f8f8">SLEEP_DELAY</span><span style="background-color: #f8f8f8">))</span>
+    <span style="background-color: #f8f8f8">time</span><span style="color: #000000;font-weight: bold">.</span><span style="background-color: #f8f8f8">sleep</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">SLEEP_DELAY</span><span style="background-color: #f8f8f8">)</span>
+
+<span style="color: #000000;font-weight: bold">if</span> <span style="background-color: #f8f8f8">__name__</span> <span style="color: #000000;font-weight: bold">==</span> <span style="color: #d14">"__main__"</span><span style="background-color: #f8f8f8">:</span>
+  <span style="background-color: #f8f8f8">main</span><span style="background-color: #f8f8f8">()</span>
+</code></pre>
+
+<h2 id="aurora-configuration">Aurora Configuration</h2>
+
+<p>Once we have our script/program, we need to create a <em>configuration
+file</em> that tells Aurora how to manage and launch our Job. Save the below
+code in the file <code>hello_world.aurora</code>.</p>
+
+<!-- NOTE: If you are changing this file, be sure to also update examples/vagrant/test_tutorial.sh.
+-->
+<pre class="highlight python"><code><span style="background-color: #f8f8f8">pkg_path</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'/vagrant/hello_world.py'</span>
+
+<span style="color: #999988;font-style: italic"># we use a trick here to make the configuration change with</span>
+<span style="color: #999988;font-style: italic"># the contents of the file, for simplicity.  in a normal setting, packages would be</span>
+<span style="color: #999988;font-style: italic"># versioned, and the version number would be changed in the configuration.</span>
+<span style="color: #000000;font-weight: bold">import</span> <span style="color: #555555">hashlib</span>
+<span style="color: #000000;font-weight: bold">with</span> <span style="color: #0086B3">open</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">pkg_path</span><span style="background-color: #f8f8f8">,</span> <span style="color: #d14">'rb'</span><span style="background-color: #f8f8f8">)</span> <span style="color: #000000;font-weight: bold">as</span> <span style="background-color: #f8f8f8">f</span><span style="background-color: #f8f8f8">:</span>
+  <span style="background-color: #f8f8f8">pkg_checksum</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">hashlib</span><span style="color: #000000;font-weight: bold">.</span><span style="background-color: #f8f8f8">md5</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">f</span><span style="color: #000000;font-weight: bold">.</span><span style="background-color: #f8f8f8">read</span><span style="background-color: #f8f8f8">())</span><span style="color: #000000;font-weight: bold">.</span><span style="background-color: #f8f8f8">hexdigest</span><span style="background-color: #f8f8f8">()</span>
+
+<span style="color: #999988;font-style: italic"># copy hello_world.py into the local sandbox</span>
+<span style="background-color: #f8f8f8">install</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">Process</span><span style="background-color: #f8f8f8">(</span>
+  <span style="background-color: #f8f8f8">name</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'fetch_package'</span><span style="background-color: #f8f8f8">,</span>
+  <span style="background-color: #f8f8f8">cmdline</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'cp </span><span style="color: #d14">%</span><span style="color: #d14">s . &amp;&amp; echo </span><span style="color: #d14">%</span><span style="color: #d14">s &amp;&amp; chmod +x hello_world.py'</span> <span style="color: #000000;font-weight: bold">%</span> <span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">pkg_path</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">pkg_checksum</span><span style="background-color: #f8f8f8">))</span>
+
+<span style="color: #999988;font-style: italic"># run the script</span>
+<span style="background-color: #f8f8f8">hello_world</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">Process</span><span style="background-color: #f8f8f8">(</span>
+  <span style="background-color: #f8f8f8">name</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'hello_world'</span><span style="background-color: #f8f8f8">,</span>
+  <span style="background-color: #f8f8f8">cmdline</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'python -u hello_world.py'</span><span style="background-color: #f8f8f8">)</span>
+
+<span style="color: #999988;font-style: italic"># describe the task</span>
+<span style="background-color: #f8f8f8">hello_world_task</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">SequentialTask</span><span style="background-color: #f8f8f8">(</span>
+  <span style="background-color: #f8f8f8">processes</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">[</span><span style="background-color: #f8f8f8">install</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">hello_world</span><span style="background-color: #f8f8f8">],</span>
+  <span style="background-color: #f8f8f8">resources</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">Resources</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">cpu</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #009999">1</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">ram</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #009999">1</span><span style="color: #000000;font-weight: bold">*</span><span style="background-color: #f8f8f8">MB</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">disk</span><span style="color: #000000;font-weight: bold">=</span><span style="color: #009999">8</span><span style="color: #000000;font-weight: bold">*</span><span style="background-color: #f8f8f8">MB</span><span style="background-color: #f8f8f8">)
 )</span>
+
+<span style="background-color: #f8f8f8">jobs</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">[</span>
+  <span style="background-color: #f8f8f8">Service</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">cluster</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'devcluster'</span><span style="background-color: #f8f8f8">,</span>
+          <span style="background-color: #f8f8f8">environment</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'devel'</span><span style="background-color: #f8f8f8">,</span>
+          <span style="background-color: #f8f8f8">role</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'www-data'</span><span style="background-color: #f8f8f8">,</span>
+          <span style="background-color: #f8f8f8">name</span> <span style="color: #000000;font-weight: bold">=</span> <span style="color: #d14">'hello_world'</span><span style="background-color: #f8f8f8">,</span>
+          <span style="background-color: #f8f8f8">task</span> <span style="color: #000000;font-weight: bold">=</span> <span style="background-color: #f8f8f8">hello_world_task</span><span style="background-color: #f8f8f8">)</span>
+<span style="background-color: #f8f8f8">]</span>
+</code></pre>
+
+<p>There is a lot going on in that configuration file:</p>
+
+<ol>
+<li><p>From a &ldquo;big picture&rdquo; viewpoint, it first defines two
+Processes. Then it defines a Task that runs the two Processes in the
+order specified in the Task definition, as well as specifying what
+computational and memory resources are available for them.  Finally,
+it defines a Job that will schedule the Task on available and suitable
+machines. This Job is the sole member of a list of Jobs; you can
+specify more than one Job in a config file.</p></li>
+<li><p>At the Process level, it specifies how to get your code into the
+local sandbox in which it will run. It then specifies how the code is
+actually run once the second Process starts.</p></li>
+</ol>
+
+<p>For more about Aurora configuration files, see the <a href="../../reference/configuration-tutorial/">Configuration
+Tutorial</a> and the <a href="../../reference/configuration/">Configuration
+Reference</a> (preferably after finishing this
+tutorial).</p>
+
+<h2 id="creating-the-job">Creating the Job</h2>
+
+<p>We&rsquo;re ready to launch our job! To do so, we use the Aurora Client to
+issue a Job creation request to the Aurora scheduler.</p>
+
+<p>Many Aurora Client commands take a <em>job key</em> argument, which uniquely
+identifies a Job. A job key consists of four parts, each separated by a
+&ldquo;/&rdquo;. The four parts are  <code>&lt;cluster&gt;/&lt;role&gt;/&lt;environment&gt;/&lt;jobname&gt;</code>
+in that order:</p>
+
+<ul>
+<li>Cluster refers to the name of a particular Aurora installation.</li>
+<li>Role names are user accounts existing on the agent machines. If you
+don&rsquo;t know what accounts are available, contact your sysadmin.</li>
+<li>Environment names are namespaces; you can count on <code>test</code>, <code>devel</code>,
+<code>staging</code> and <code>prod</code> existing.</li>
+<li>Jobname is the custom name of your job.</li>
+</ul>
+
+<p>When comparing two job keys, if any of the four parts is different from
+its counterpart in the other key, then the two job keys identify two separate
+jobs. If all four values are identical, the job keys identify the same job.</p>
+
+<p>The <code>clusters.json</code> <a href="../../reference/client-cluster-configuration/">client configuration</a>
+for the Aurora scheduler defines the available cluster names.
+For Vagrant, from the top-level of your Aurora repository clone, do:</p>
+<pre class="highlight plaintext"><code>$ vagrant ssh
+</code></pre>
+
+<p>Followed by:</p>
+<pre class="highlight plaintext"><code>vagrant@aurora:~$ cat /etc/aurora/clusters.json
+</code></pre>
+
+<p>You&rsquo;ll see something like the following. The <code>name</code> value shown here, corresponds to a job key&rsquo;s cluster value.</p>
+<pre class="highlight javascript"><code><span style="background-color: #f8f8f8">[{</span>
+  <span style="color: #d14">"name"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"devcluster"</span><span style="background-color: #f8f8f8">,</span>
+  <span style="color: #d14">"zk"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"192.168.33.7"</span><span style="background-color: #f8f8f8">,</span>
+  <span style="color: #d14">"scheduler_zk_path"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"/aurora/scheduler"</span><span style="background-color: #f8f8f8">,</span>
+  <span style="color: #d14">"auth_mechanism"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"UNAUTHENTICATED"</span><span style="background-color: #f8f8f8">,</span>
+  <span style="color: #d14">"slave_run_directory"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"latest"</span><span style="background-color: #f8f8f8">,</span>
+  <span style="color: #d14">"slave_root"</span><span style="background-color: #f8f8f8">:</span> <span style="color: #d14">"/var/lib/mesos"</span>
+<span style="background-color: #f8f8f8">}]</span>
+</code></pre>
+
+<p>The Aurora Client command that actually runs our Job is <code>aurora job create</code>. It creates a Job as
+specified by its job key and configuration file arguments and runs it.</p>
+<pre class="highlight plaintext"><code>aurora job create &lt;cluster&gt;/&lt;role&gt;/&lt;environment&gt;/&lt;jobname&gt; &lt;config_file&gt;
+</code></pre>
+
+<p>Or for our example:</p>
+<pre class="highlight plaintext"><code>aurora job create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
+</code></pre>
+
+<p>After entering our virtual machine using <code>vagrant ssh</code>, this returns:</p>
+<pre class="highlight plaintext"><code>vagrant@aurora:~$ aurora job create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
+ INFO] Creating job hello_world
+ INFO] Checking status of devcluster/www-data/devel/hello_world
+Job create succeeded: job url=http://aurora.local:8081/scheduler/www-data/devel/hello_world
+</code></pre>
+
+<h2 id="watching-the-job-run">Watching the Job Run</h2>
+
+<p>Now that our job is running, let&rsquo;s see what it&rsquo;s doing. Access the
+scheduler web interface at <code>http://$scheduler_hostname:$scheduler_port/scheduler</code>
+Or when using <code>vagrant</code>, <code>http://192.168.33.7:8081/scheduler</code>
+First we see what Jobs are scheduled:</p>
+
+<p><img alt="Scheduled Jobs" src="../../images/ScheduledJobs.png" /></p>
+
+<p>Click on your user name, which in this case was <code>www-data</code>, and we see the Jobs associated
+with that role:</p>
+
+<p><img alt="Role Jobs" src="../../images/RoleJobs.png" /></p>
+
+<p>If you click on your <code>hello_world</code> Job, you&rsquo;ll see:</p>
+
+<p><img alt="hello_world Job" src="../../images/HelloWorldJob.png" /></p>
+
+<p>Oops, looks like our first job didn&rsquo;t quite work! The task is temporarily throttled for
+having failed on every attempt of the Aurora scheduler to run it. We have to figure out
+what is going wrong.</p>
+
+<p>On the Completed tasks tab, we see all past attempts of the Aurora scheduler to run our job.</p>
+
+<p><img alt="Completed tasks tab" src="../../images/CompletedTasks.png" /></p>
+
+<p>We can navigate to the Task page of a failed run by clicking on the host link.</p>
+
+<p><img alt="Task page" src="../../images/TaskBreakdown.png" /></p>
+
+<p>Once there, we see that the <code>hello_world</code> process failed. The Task page
+captures the standard error and standard output streams and makes them available.
+Clicking through to <code>stderr</code> on the failed <code>hello_world</code> process, we see what happened.</p>
+
+<p><img alt="stderr page" src="../../images/stderr.png" /></p>
+
+<p>It looks like we made a typo in our Python script. We wanted <code>xrange</code>,
+not <code>xrang</code>. Edit the <code>hello_world.py</code> script to use the correct function
+and save it as <code>hello_world_v2.py</code>. Then update the <code>hello_world.aurora</code>
+configuration to the newest version.</p>
+
+<p>In order to try again, we can now instruct the scheduler to update our job:</p>
+<pre class="highlight plaintext"><code>vagrant@aurora:~$ aurora update start devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
+ INFO] Starting update for: hello_world
+Job update has started. View your update progress at http://aurora.local:8081/scheduler/www-data/devel/hello_world/update/8ef38017-e60f-400d-a2f2-b5a8b724e95b
+</code></pre>
+
+<p>This time, the task comes up.</p>
+
+<p><img alt="Running Job" src="../../images/RunningJob.png" /></p>
+
+<p>By again clicking on the host, we inspect the Task page, and see that the
+<code>hello_world</code> process is running.</p>
+
+<p><img alt="Running Task page" src="../../images/runningtask.png" /></p>
+
+<p>We then inspect the output by clicking on <code>stdout</code> and see our process&rsquo;
+output:</p>
+
+<p><img alt="stdout page" src="../../images/stdout.png" /></p>
+
+<h2 id="cleanup">Cleanup</h2>
+
+<p>Now that we&rsquo;re done, we kill the job using the Aurora client:</p>
+<pre class="highlight plaintext"><code>vagrant@aurora:~$ aurora job killall devcluster/www-data/devel/hello_world
+ INFO] Killing tasks for job: devcluster/www-data/devel/hello_world
+ INFO] Instances to be killed: [0]
+Successfully killed instances [0]
+Job killall succeeded
+</code></pre>
+
+<p>The job page now shows the <code>hello_world</code> tasks as completed.</p>
+
+<p><img alt="Killed Task page" src="../../images/killedtask.png" /></p>
+
+<h2 id="next-steps">Next Steps</h2>
+
+<p>Now that you&rsquo;ve finished this Tutorial, you should read or do the following:</p>
+
+<ul>
+<li><a href="../../reference/configuration-tutorial/">The Aurora Configuration Tutorial</a>, which provides more examples
+and best practices for writing Aurora configurations. You should also look at
+the <a href="../../reference/configuration/">Aurora Configuration Reference</a>.</li>
+<li>Explore the Aurora Client - use <code>aurora -h</code>, and read the
+<a href="../../reference/client-commands/">Aurora Client Commands</a> document.</li>
+</ul>
+
+</div>
+
+      </div>
+    </div>
+  	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+			<p class="disclaimer">&copy; 2014-2016 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+
+  </body>
+</html>

Added: aurora/site/publish/documentation/0.15.0/getting-started/vagrant/index.html
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/getting-started/vagrant/index.html?rev=1751733&view=auto
==============================================================================
--- aurora/site/publish/documentation/0.15.0/getting-started/vagrant/index.html (added)
+++ aurora/site/publish/documentation/0.15.0/getting-started/vagrant/index.html Wed Jul  6 21:22:35 2016
@@ -0,0 +1,267 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+    <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+    <ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>
+	
+    <div class="container-fluid">
+      <div class="container content">
+        <div class="col-md-12 documentation">
+<h5 class="page-header text-uppercase">Documentation
+<select onChange="window.location.href='/documentation/' + this.value + '/getting-started/vagrant/'"
+        value="0.15.0">
+  <option value="0.15.0"
+    selected="selected">
+    0.15.0
+      (latest)
+  </option>
+  <option value="0.14.0"
+    >
+    0.14.0
+  </option>
+  <option value="0.13.0"
+    >
+    0.13.0
+  </option>
+  <option value="0.12.0"
+    >
+    0.12.0
+  </option>
+  <option value="0.11.0"
+    >
+    0.11.0
+  </option>
+  <option value="0.10.0"
+    >
+    0.10.0
+  </option>
+  <option value="0.9.0"
+    >
+    0.9.0
+  </option>
+  <option value="0.8.0"
+    >
+    0.8.0
+  </option>
+  <option value="0.7.0-incubating"
+    >
+    0.7.0-incubating
+  </option>
+  <option value="0.6.0-incubating"
+    >
+    0.6.0-incubating
+  </option>
+  <option value="0.5.0-incubating"
+    >
+    0.5.0-incubating
+  </option>
+</select>
+</h5>
+<h1 id="a-local-cluster-with-vagrant">A local Cluster with Vagrant</h1>
+
+<p>This document shows you how to configure a complete cluster using a virtual machine. This setup
+replicates a real cluster in your development machine as closely as possible. After you complete
+the steps outlined here, you will be ready to create and run your first Aurora job.</p>
+
+<p>The following sections describe these steps in detail:</p>
+
+<ol>
+<li><a href="#overview">Overview</a></li>
+<li><a href="#install-virtualbox-and-vagrant">Install VirtualBox and Vagrant</a></li>
+<li><a href="#clone-the-aurora-repository">Clone the Aurora repository</a></li>
+<li><a href="#start-the-local-cluster">Start the local cluster</a></li>
+<li><a href="#log-onto-the-vm">Log onto the VM</a></li>
+<li><a href="#run-your-first-job">Run your first job</a></li>
+<li><a href="#rebuild-components">Rebuild components</a></li>
+<li><a href="#shut-down-or-delete-your-local-cluster">Shut down or delete your local cluster</a></li>
+<li><a href="#troubleshooting">Troubleshooting</a></li>
+</ol>
+
+<h2 id="overview">Overview</h2>
+
+<p>The Aurora distribution includes a set of scripts that enable you to create a local cluster in
+your development machine. These scripts use <a href="https://www.vagrantup.com/">Vagrant</a> and
+<a href="https://www.virtualbox.org/">VirtualBox</a> to run and configure a virtual machine. Once the
+virtual machine is running, the scripts install and initialize Aurora and any required components
+to create the local cluster.</p>
+
+<h2 id="install-virtualbox-and-vagrant">Install VirtualBox and Vagrant</h2>
+
+<p>First, download and install <a href="https://www.virtualbox.org/">VirtualBox</a> on your development machine.</p>
+
+<p>Then download and install <a href="https://www.vagrantup.com/">Vagrant</a>. To verify that the installation
+was successful, open a terminal window and type the <code>vagrant</code> command. You should see a list of
+common commands for this tool.</p>
+
+<h2 id="clone-the-aurora-repository">Clone the Aurora repository</h2>
+
+<p>To obtain the Aurora source distribution, clone its Git repository using the following command:</p>
+<pre class="highlight plaintext"><code> git clone git://git.apache.org/aurora.git
+</code></pre>
+
+<h2 id="start-the-local-cluster">Start the local cluster</h2>
+
+<p>Now change into the <code>aurora/</code> directory, which contains the Aurora source code and
+other scripts and tools:</p>
+<pre class="highlight plaintext"><code> cd aurora/
+</code></pre>
+
+<p>To start the local cluster, type the following command:</p>
+<pre class="highlight plaintext"><code> vagrant up
+</code></pre>
+
+<p>This command uses the configuration scripts in the Aurora distribution to:</p>
+
+<ul>
+<li>Download a Linux system image.</li>
+<li>Start a virtual machine (VM) and configure it.</li>
+<li>Install the required build tools on the VM.</li>
+<li>Install Aurora&rsquo;s requirements (like <a href="http://mesos.apache.org/">Mesos</a> and
+<a href="http://zookeeper.apache.org/">Zookeeper</a>) on the VM.</li>
+<li>Build and install Aurora from source on the VM.</li>
+<li>Start Aurora&rsquo;s services on the VM.</li>
+</ul>
+
+<p>This process takes several minutes to complete.</p>
+
+<p>You may notice a warning that guest additions in the VM don&rsquo;t match your version of VirtualBox.
+This should generally be harmless, but you may wish to install a vagrant plugin to take care of
+mismatches like this for you:</p>
+<pre class="highlight plaintext"><code> vagrant plugin install vagrant-vbguest
+</code></pre>
+
+<p>With this plugin installed, whenever you <code>vagrant up</code> the plugin will upgrade the guest additions
+for you when a version mis-match is detected. You can read more about the plugin
+<a href="https://github.com/dotless-de/vagrant-vbguest">here</a>.</p>
+
+<p>To verify that Aurora is running on the cluster, visit the following URLs:</p>
+
+<ul>
+<li>Scheduler - <a href="http://192.168.33.7:8081">http://192.168.33.7:8081</a></li>
+<li>Observer - <a href="http://192.168.33.7:1338">http://192.168.33.7:1338</a></li>
+<li>Mesos Master - <a href="http://192.168.33.7:5050">http://192.168.33.7:5050</a></li>
+<li>Mesos Agent - <a href="http://192.168.33.7:5051">http://192.168.33.7:5051</a></li>
+</ul>
+
+<h2 id="log-onto-the-vm">Log onto the VM</h2>
+
+<p>To SSH into the VM, run the following command in your development machine:</p>
+<pre class="highlight plaintext"><code> vagrant ssh
+</code></pre>
+
+<p>To verify that Aurora is installed in the VM, type the <code>aurora</code> command. You should see a list
+of arguments and possible commands.</p>
+
+<p>The <code>/vagrant</code> directory on the VM is mapped to the <code>aurora/</code> local directory
+from which you started the cluster. You can edit files inside this directory in your development
+machine and access them from the VM under <code>/vagrant</code>.</p>
+
+<p>A pre-installed <code>clusters.json</code> file refers to your local cluster as <code>devcluster</code>, which you
+will use in client commands.</p>
+
+<h2 id="run-your-first-job">Run your first job</h2>
+
+<p>Now that your cluster is up and running, you are ready to define and run your first job in Aurora.
+For more information, see the <a href="../tutorial/">Aurora Tutorial</a>.</p>
+
+<h2 id="rebuild-components">Rebuild components</h2>
+
+<p>If you are changing Aurora code and would like to rebuild a component, you can use the <code>aurorabuild</code>
+command on the VM to build and restart a component.  This is considerably faster than destroying
+and rebuilding your VM.</p>
+
+<p><code>aurorabuild</code> accepts a list of components to build and update. To get a list of supported
+components, invoke the <code>aurorabuild</code> command with no arguments:</p>
+<pre class="highlight plaintext"><code> vagrant ssh -c 'aurorabuild client'
+</code></pre>
+
+<h2 id="shut-down-or-delete-your-local-cluster">Shut down or delete your local cluster</h2>
+
+<p>To shut down your local cluster, run the <code>vagrant halt</code> command in your development machine. To
+start it again, run the <code>vagrant up</code> command.</p>
+
+<p>Once you are finished with your local cluster, or if you would otherwise like to start from scratch,
+you can use the command <code>vagrant destroy</code> to turn off and delete the virtual file system.</p>
+
+<h2 id="troubleshooting">Troubleshooting</h2>
+
+<p>Most of the Vagrant related problems can be fixed by the following steps:</p>
+
+<ul>
+<li>Destroying the vagrant environment with <code>vagrant destroy</code></li>
+<li>Killing any orphaned VMs (see AURORA-499) with <code>virtualbox</code> UI or <code>VBoxManage</code> command line tool</li>
+<li>Cleaning the repository of build artifacts and other intermediate output with <code>git clean -fdx</code></li>
+<li>Bringing up the vagrant environment with <code>vagrant up</code></li>
+</ul>
+
+<p>If that still doesn&rsquo;t solve your problem, make sure to inspect the log files:</p>
+
+<ul>
+<li>Scheduler: <code>/var/log/upstart/aurora-scheduler.log</code></li>
+<li>Observer: <code>/var/log/upstart/aurora-thermos-observer.log</code></li>
+<li>Mesos Master: <code>/var/log/mesos/mesos-master.INFO</code> (also see <code>.WARNING</code> and <code>.ERROR</code>)</li>
+<li>Mesos Agent: <code>/var/log/mesos/mesos-slave.INFO</code> (also see <code>.WARNING</code> and <code>.ERROR</code>)</li>
+</ul>
+
+</div>
+
+      </div>
+    </div>
+  	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+			<p class="disclaimer">&copy; 2014-2016 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+
+  </body>
+</html>

Added: aurora/site/publish/documentation/0.15.0/images/CPUavailability.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/CPUavailability.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/CPUavailability.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/CompletedTasks.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/CompletedTasks.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/CompletedTasks.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/HelloWorldJob.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/HelloWorldJob.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/HelloWorldJob.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/RoleJobs.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/RoleJobs.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/RoleJobs.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/RunningJob.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/RunningJob.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/RunningJob.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/ScheduledJobs.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/ScheduledJobs.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/ScheduledJobs.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/TaskBreakdown.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/TaskBreakdown.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/TaskBreakdown.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/aurora_hierarchy.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/aurora_hierarchy.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/aurora_hierarchy.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/aurora_logo.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/aurora_logo.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/aurora_logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/components.odg
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/components.odg?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/components.odg
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/components.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/components.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/components.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/debug-client-test.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/debug-client-test.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/debug-client-test.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/debugging-client-test.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/debugging-client-test.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/debugging-client-test.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/killedtask.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/killedtask.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/killedtask.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/lifeofatask.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/lifeofatask.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/lifeofatask.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/02_28_2015_apache_aurora_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/02_28_2015_apache_aurora_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/02_28_2015_apache_aurora_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/03_07_2015_aurora_mesos_in_practice_at_twitter_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/03_07_2015_aurora_mesos_in_practice_at_twitter_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/03_07_2015_aurora_mesos_in_practice_at_twitter_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/08_21_2014_past_present_future_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/08_21_2014_past_present_future_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/08_21_2014_past_present_future_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_mesos_aurora_on_a_small_scale_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_mesos_aurora_on_a_small_scale_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_mesos_aurora_on_a_small_scale_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/runningtask.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/runningtask.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/runningtask.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/stderr.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/stderr.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/stderr.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/stdout.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/stdout.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/stdout.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/images/storage_hierarchy.png
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/images/storage_hierarchy.png?rev=1751733&view=auto
==============================================================================
Binary file - no diff available.

Propchange: aurora/site/publish/documentation/0.15.0/images/storage_hierarchy.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: aurora/site/publish/documentation/0.15.0/index.html
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/index.html?rev=1751733&view=auto
==============================================================================
--- aurora/site/publish/documentation/0.15.0/index.html (added)
+++ aurora/site/publish/documentation/0.15.0/index.html Wed Jul  6 21:22:35 2016
@@ -0,0 +1,221 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+    <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+    <ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>
+	
+    <div class="container-fluid">
+      <div class="container content">
+        <div class="col-md-12 documentation">
+<h5 class="page-header text-uppercase">Documentation
+<select onChange="window.location.href='/documentation/' + this.value + '/'"
+        value="0.15.0">
+  <option value="0.15.0"
+    selected="selected">
+    0.15.0
+      (latest)
+  </option>
+  <option value="0.14.0"
+    >
+    0.14.0
+  </option>
+  <option value="0.13.0"
+    >
+    0.13.0
+  </option>
+  <option value="0.12.0"
+    >
+    0.12.0
+  </option>
+  <option value="0.11.0"
+    >
+    0.11.0
+  </option>
+  <option value="0.10.0"
+    >
+    0.10.0
+  </option>
+  <option value="0.9.0"
+    >
+    0.9.0
+  </option>
+  <option value="0.8.0"
+    >
+    0.8.0
+  </option>
+  <option value="0.7.0-incubating"
+    >
+    0.7.0-incubating
+  </option>
+  <option value="0.6.0-incubating"
+    >
+    0.6.0-incubating
+  </option>
+  <option value="0.5.0-incubating"
+    >
+    0.5.0-incubating
+  </option>
+</select>
+</h5>
+<h2 id="introduction">Introduction</h2>
+
+<p>Apache Aurora is a service scheduler that runs on top of Apache Mesos, enabling you to run
+long-running services, cron jobs, and ad-hoc jobs that take advantage of Apache Mesos&rsquo; scalability,
+fault-tolerance, and resource isolation.</p>
+
+<p>We encourage you to ask questions on the <a href="http://aurora.apache.org/community/">Aurora user list</a> or
+the <code>#aurora</code> IRC channel on <code>irc.freenode.net</code>.</p>
+
+<h2 id="getting-started">Getting Started</h2>
+
+<p>Information for everyone new to Apache Aurora.</p>
+
+<ul>
+<li><a href="getting-started/overview/">Aurora System Overview</a></li>
+<li><a href="getting-started/tutorial/">Hello World Tutorial</a></li>
+<li><a href="getting-started/vagrant/">Local cluster with Vagrant</a></li>
+</ul>
+
+<h2 id="features">Features</h2>
+
+<p>Description of important Aurora features.</p>
+
+<ul>
+<li><a href="features/containers/">Containers</a></li>
+<li><a href="features/cron-jobs/">Cron Jobs</a></li>
+<li><a href="features/job-updates/">Job Updates</a></li>
+<li><a href="features/mesos-fetcher/">Mesos Fetcher</a></li>
+<li><a href="features/multitenancy/">Multitenancy</a></li>
+<li><a href="features/resource-isolation/">Resource Isolation</a></li>
+<li><a href="features/constraints/">Scheduling Constraints</a></li>
+<li><a href="features/services/">Services</a></li>
+<li><a href="features/service-discovery/">Service Discovery</a></li>
+<li><a href="features/sla-metrics/">SLA Metrics</a></li>
+<li><a href="features/webhooks/">Webhooks</a></li>
+</ul>
+
+<h2 id="operators">Operators</h2>
+
+<p>For those that wish to manage and fine-tune an Aurora cluster.</p>
+
+<ul>
+<li><a href="operations/installation/">Installation</a></li>
+<li><a href="operations/configuration/">Configuration</a></li>
+<li><a href="operations/monitoring/">Monitoring</a></li>
+<li><a href="operations/security/">Security</a></li>
+<li><a href="operations/storage/">Storage</a></li>
+<li><a href="operations/backup-restore/">Backup</a></li>
+</ul>
+
+<h2 id="reference">Reference</h2>
+
+<p>The complete reference of commands, configuration options, and scheduler internals.</p>
+
+<ul>
+<li><a href="reference/task-lifecycle/">Task lifecycle</a></li>
+<li>Configuration (<code>.aurora</code> files)
+
+<ul>
+<li><a href="reference/configuration/">Configuration Reference</a></li>
+<li><a href="reference/configuration-tutorial/">Configuration Tutorial</a></li>
+<li><a href="reference/configuration-best-practices/">Configuration Best Practices</a></li>
+<li><a href="reference/configuration-templating/">Configuration Templating</a></li>
+</ul></li>
+<li>Aurora Client
+
+<ul>
+<li><a href="reference/client-commands/">Client Commands</a></li>
+<li><a href="reference/client-hooks/">Client Hooks</a></li>
+<li><a href="reference/client-cluster-configuration/">Client Cluster Configuration</a></li>
+</ul></li>
+<li><a href="reference/scheduler-configuration/">Scheduler Configuration</a></li>
+</ul>
+
+<h2 id="additional-resources">Additional Resources</h2>
+
+<ul>
+<li><a href="additional-resources/tools/">Tools integrating with Aurora</a></li>
+<li><a href="additional-resources/presentations/">Presentation videos and slides</a></li>
+</ul>
+
+<h2 id="developers">Developers</h2>
+
+<p>All the information you need to start modifying Aurora and contributing back to the project.</p>
+
+<ul>
+<li><a href="contributing/">Contributing to the project</a></li>
+<li><a href="development/committers-guide/">Committer&rsquo;s Guide</a></li>
+<li><a href="development/design-documents/">Design Documents</a></li>
+<li>Developing the Aurora components:
+
+<ul>
+<li><a href="development/client/">Client</a></li>
+<li><a href="development/scheduler/">Scheduler</a></li>
+<li><a href="development/ui/">Scheduler UI</a></li>
+<li><a href="development/thermos/">Thermos</a></li>
+<li><a href="development/thrift/">Thrift structures</a></li>
+</ul></li>
+</ul>
+
+</div>
+
+      </div>
+    </div>
+  	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+			<p class="disclaimer">&copy; 2014-2016 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+
+  </body>
+</html>

Added: aurora/site/publish/documentation/0.15.0/operations/backup-restore/index.html
URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.15.0/operations/backup-restore/index.html?rev=1751733&view=auto
==============================================================================
--- aurora/site/publish/documentation/0.15.0/operations/backup-restore/index.html (added)
+++ aurora/site/publish/documentation/0.15.0/operations/backup-restore/index.html Wed Jul  6 21:22:35 2016
@@ -0,0 +1,222 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+	<title>Apache Aurora</title>
+    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
+    <link href="/assets/css/main.css" rel="stylesheet">
+	<!-- Analytics -->
+	<script type="text/javascript">
+		  var _gaq = _gaq || [];
+		  _gaq.push(['_setAccount', 'UA-45879646-1']);
+		  _gaq.push(['_setDomainName', 'apache.org']);
+		  _gaq.push(['_trackPageview']);
+
+		  (function() {
+		    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+		    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+		    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+		  })();
+	</script>
+  </head>
+  <body>
+    <div class="container-fluid section-header">
+  <div class="container">
+    <div class="nav nav-bar">
+    <a href="/"><img src="/assets/img/aurora_logo_dkbkg.svg" width="300" alt="Transparent Apache Aurora logo with dark background"/></a>
+    <ul class="nav navbar-nav navbar-right">
+      <li><a href="/documentation/latest/">Documentation</a></li>
+      <li><a href="/community/">Community</a></li>
+      <li><a href="/downloads/">Downloads</a></li>
+      <li><a href="/blog/">Blog</a></li>
+    </ul>
+    </div>
+  </div>
+</div>
+	
+    <div class="container-fluid">
+      <div class="container content">
+        <div class="col-md-12 documentation">
+<h5 class="page-header text-uppercase">Documentation
+<select onChange="window.location.href='/documentation/' + this.value + '/operations/backup-restore/'"
+        value="0.15.0">
+  <option value="0.15.0"
+    selected="selected">
+    0.15.0
+      (latest)
+  </option>
+  <option value="0.14.0"
+    >
+    0.14.0
+  </option>
+  <option value="0.13.0"
+    >
+    0.13.0
+  </option>
+  <option value="0.12.0"
+    >
+    0.12.0
+  </option>
+  <option value="0.11.0"
+    >
+    0.11.0
+  </option>
+  <option value="0.10.0"
+    >
+    0.10.0
+  </option>
+  <option value="0.9.0"
+    >
+    0.9.0
+  </option>
+  <option value="0.8.0"
+    >
+    0.8.0
+  </option>
+  <option value="0.7.0-incubating"
+    >
+    0.7.0-incubating
+  </option>
+  <option value="0.6.0-incubating"
+    >
+    0.6.0-incubating
+  </option>
+  <option value="0.5.0-incubating"
+    >
+    0.5.0-incubating
+  </option>
+</select>
+</h5>
+<h1 id="recovering-from-a-scheduler-backup">Recovering from a Scheduler Backup</h1>
+
+<p><strong>Be sure to read the entire page before attempting to restore from a backup, as it may have
+unintended consequences.</strong></p>
+
+<h1 id="summary">Summary</h1>
+
+<p>The restoration procedure replaces the existing (possibly corrupted) Mesos replicated log with an
+earlier, backed up, version and requires all schedulers to be taken down temporarily while
+restoring. Once completed, the scheduler state resets to what it was when the backup was created.
+This means any jobs/tasks created or updated after the backup are unknown to the scheduler and will
+be killed shortly after the cluster restarts. All other tasks continue operating as normal.</p>
+
+<p>Usually, it is a bad idea to restore a backup that is not extremely recent (i.e. older than a few
+hours). This is because the scheduler will expect the cluster to look exactly as the backup does,
+so any tasks that have been rescheduled since the backup was taken will be killed.</p>
+
+<p>Instructions below have been verified in <a href="../../getting-started/vagrant/">Vagrant environment</a> and with minor
+syntax/path changes should be applicable to any Aurora cluster.</p>
+
+<h1 id="preparation">Preparation</h1>
+
+<p>Follow these steps to prepare the cluster for restoring from a backup:</p>
+
+<ul>
+<li><p>Stop all scheduler instances</p></li>
+<li><p>Consider blocking external traffic on a port defined in <code>-http_port</code> for all schedulers to
+prevent users from interacting with the scheduler during the restoration process. This will help
+troubleshooting by reducing the scheduler log noise and prevent users from making changes that will
+be erased after the backup snapshot is restored.</p></li>
+<li><p>Configure <code>aurora_admin</code> access to run all commands listed in
+<a href="#restore-from-backup">Restore from backup</a> section locally on the leading scheduler:</p>
+
+<ul>
+<li>Make sure the <a href="../../reference/client-cluster-configuration/">clusters.json</a> file configured to
+access scheduler directly. Set <code>scheduler_uri</code> setting and remove <code>zk</code>. Since leader can get
+re-elected during the restore steps, consider doing it on all scheduler replicas.</li>
+<li><p>Depending on your particular security approach you will need to either turn off scheduler
+authorization by removing scheduler <code>-http_authentication_mechanism</code> flag or make sure the
+direct scheduler access is properly authorized. E.g.: in case of Kerberos you will need to make
+a <code>/etc/hosts</code> file change to match your local IP to the scheduler URL configured in keytabs:</p>
+
+<p><local_ip> <scheduler_domain_in_keytabs></p></li>
+</ul></li>
+<li><p>Next steps are required to put scheduler into a partially disabled state where it would still be
+able to accept storage recovery requests but unable to schedule or change task states. This may be
+accomplished by updating the following scheduler configuration options:</p>
+
+<ul>
+<li>Set <code>-mesos_master_address</code> to a non-existent zk address. This will prevent scheduler from
+registering with Mesos. E.g.: <code>-mesos_master_address=zk://localhost:1111/mesos/master</code></li>
+<li><code>-max_registration_delay</code> - set to sufficiently long interval to prevent registration timeout
+and as a result scheduler suicide. E.g: <code>-max_registration_delay=360mins</code></li>
+<li>Make sure <code>-reconciliation_initial_delay</code> option is set high enough (e.g.: <code>365days</code>) to
+prevent accidental task GC. This is important as scheduler will attempt to reconcile the cluster
+state and will kill all tasks when restarted with an empty Mesos replicated log.</li>
+</ul></li>
+<li><p>Restart all schedulers</p></li>
+</ul>
+
+<h1 id="cleanup-and-re-initialize-mesos-replicated-log">Cleanup and re-initialize Mesos replicated log</h1>
+
+<p>Get rid of the corrupted files and re-initialize Mesos replicated log:</p>
+
+<ul>
+<li>Stop schedulers</li>
+<li>Delete all files under <code>-native_log_file_path</code> on all schedulers</li>
+<li>Initialize Mesos replica&rsquo;s log file: <code>sudo mesos-log initialize --path=&lt;-native_log_file_path&gt;</code></li>
+<li>Start schedulers</li>
+</ul>
+
+<h1 id="restore-from-backup">Restore from backup</h1>
+
+<p>At this point the scheduler is ready to rehydrate from the backup:</p>
+
+<ul>
+<li><p>Identify the leading scheduler by:</p>
+
+<ul>
+<li>examining the <code>scheduler_lifecycle_LEADER_AWAITING_REGISTRATION</code> metric at the scheduler
+<code>/vars</code> endpoint. Leader will have 1. All other replicas - 0.</li>
+<li>examining scheduler logs</li>
+<li>or examining Zookeeper registration under the path defined by <code>-zk_endpoints</code>
+and <code>-serverset_path</code></li>
+</ul></li>
+<li><p>Locate the desired backup file, copy it to the leading scheduler&rsquo;s <code>-backup_dir</code> folder and stage
+recovery by running the following command on a leader
+<code>aurora_admin scheduler_stage_recovery --bypass-leader-redirect &lt;cluster&gt; scheduler-backup-&lt;yyyy-MM-dd-HH-mm&gt;</code></p></li>
+<li><p>At this point, the recovery snapshot is staged and available for manual verification/modification
+via <code>aurora_admin scheduler_print_recovery_tasks --bypass-leader-redirect</code> and
+<code>scheduler_delete_recovery_tasks --bypass-leader-redirect</code> commands.
+See <code>aurora_admin help &lt;command&gt;</code> for usage details.</p></li>
+<li><p>Commit recovery. This instructs the scheduler to overwrite the existing Mesos replicated log with
+the provided backup snapshot and initiate a mandatory failover
+<code>aurora_admin scheduler_commit_recovery --bypass-leader-redirect  &lt;cluster&gt;</code></p></li>
+</ul>
+
+<h1 id="cleanup">Cleanup</h1>
+
+<p>Undo any modification done during <a href="#preparation">Preparation</a> sequence.</p>
+
+</div>
+
+      </div>
+    </div>
+  	<div class="container-fluid section-footer buffer">
+      <div class="container">
+        <div class="row">
+		  <div class="col-md-2 col-md-offset-1"><h3>Quick Links</h3>
+		  <ul>
+		    <li><a href="/downloads/">Downloads</a></li>
+            <li><a href="/community/">Mailing Lists</a></li>
+			<li><a href="http://issues.apache.org/jira/browse/AURORA">Issue Tracking</a></li>
+			<li><a href="/documentation/latest/contributing/">How To Contribute</a></li>     
+		  </ul>
+	      </div>
+		  <div class="col-md-2"><h3>The ASF</h3>
+          <ul>
+            <li><a href="http://www.apache.org/licenses/">License</a></li>
+            <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>  
+            <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
+            <li><a href="http://www.apache.org/security/">Security</a></li>
+          </ul>
+		  </div>
+		  <div class="col-md-6">
+			<p class="disclaimer">&copy; 2014-2016 <a href="http://www.apache.org/">Apache Software Foundation</a>. Licensed under the <a href="http://www.apache.org/licenses/">Apache License v2.0</a>. The <a href="https://www.flickr.com/photos/trondk/12706051375/">Aurora Borealis IX photo</a> displayed on the homepage is available under a <a href="https://creativecommons.org/licenses/by-nc-nd/2.0/">Creative Commons BY-NC-ND 2.0 license</a>. Apache, Apache Aurora, and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
+        </div>
+      </div>
+    </div>
+
+  </body>
+</html>



Mime
View raw message