<!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_white_bkg.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">
          <h2 id="aurora-tutorial">Aurora Tutorial</h2>

<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#setup-install-aurora">Setup: Install Aurora</a></li>
<li><a href="#the-script">The Script</a></li>
<li><a href="#aurora-configuration">Aurora Configuration</a></li>
<li><a href="#whats-going-on-in-that-configuration-file">What&rsquo;s Going On In That Configuration File?</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="introduction">Introduction</h2>

<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. The operational
hierarchy is:</p>

<ul>
<li>Aurora manages and schedules jobs for Mesos to run.</li>
<li>Mesos manages the individual tasks that make up a job.</li>
<li>Thermos manages the individual processes that make up a task.</li>
</ul>

<p>This is the recommended first Aurora users document to read to start
getting up to speed on the system.</p>

<p>To get help, email questions to the Aurora Developer List,
<a href="mailto:dev@aurora.incubator.apache.org">dev@aurora.incubator.apache.org</a></p>

<h2 id="setup:-install-aurora">Setup: Install Aurora</h2>

<p>You use the Aurora client and web UI to interact with Aurora jobs. To
install it locally, see <a href="/documentation/latest/vagrant/">vagrant.md</a>. The remainder of this
Tutorial assumes you are running Aurora using Vagrant.  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"><span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">time</span>

<span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">argv</span><span class="p">):</span>
  <span class="n">SLEEP_DELAY</span> <span class="o">=</span> <span class="mi">10</span>
  <span class="c"># Python ninjas - ignore this blatant bug.</span>
  <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">xrang</span><span class="p">(</span><span class="mi">100</span><span class="p">):</span>
    <span class="k">print</span><span class="p">(</span><span class="s">&quot;Hello world! The time is now: </span><span class="si">%</span><span class="s">s. Sleeping for </span><span class="si">%</span><span class="s">d secs&quot;</span> <span class="o">%</span> <span class="p">(</span>
      <span class="n">time</span><span class="o">.</span><span class="n">asctime</span><span class="p">(),</span> <span class="n">SLEEP_DELAY</span><span class="p">))</span>
    <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">flush</span><span class="p">()</span>
    <span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">SLEEP_DELAY</span><span class="p">)</span>

<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span>
  <span class="n">main</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">)</span>
</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"><span class="n">pkg_path</span> <span class="o">=</span> <span class="s">&#39;/vagrant/hello_world.py&#39;</span>

<span class="c"># we use a trick here to make the configuration change with</span>
<span class="c"># the contents of the file, for simplicity.  in a normal setting, packages would be</span>
<span class="c"># versioned, and the version number would be changed in the configuration.</span>
<span class="kn">import</span> <span class="nn">hashlib</span>
<span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="n">pkg_path</span><span class="p">,</span> <span class="s">&#39;rb&#39;</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span>
  <span class="n">pkg_checksum</span> <span class="o">=</span> <span class="nb">hash</span><span class="n">lib</span><span class="o">.</span><span class="n">md5</span><span class="p">(</span><span class="n">f</span><span class="o">.</span><span class="n">read</span><span class="p">())</span><span class="o">.</span><span class="nb">hex</span><span class="n">digest</span><span class="p">()</span>

<span class="c"># copy hello_world.py into the local sandbox</span>
<span class="n">install</span> <span class="o">=</span> <span class="n">Process</span><span class="p">(</span>
  <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;fetch_package&#39;</span><span class="p">,</span>
  <span class="n">cmdline</span> <span class="o">=</span> <span class="s">&#39;cp </span><span class="si">%</span><span class="s">s . &amp;&amp; echo </span><span class="si">%</span><span class="s">s &amp;&amp; chmod +x hello_world.py&#39;</span> <span class="o">%</span> <span class="p">(</span><span class="n">pkg_path</span><span class="p">,</span> <span class="n">pkg_checksum</span><span class="p">))</span>

<span class="c"># run the script</span>
<span class="n">hello_world</span> <span class="o">=</span> <span class="n">Process</span><span class="p">(</span>
  <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;hello_world&#39;</span><span class="p">,</span>
  <span class="n">cmdline</span> <span class="o">=</span> <span class="s">&#39;python hello_world.py&#39;</span><span class="p">)</span>

<span class="c"># describe the task</span>
<span class="n">hello_world_task</span> <span class="o">=</span> <span class="n">SequentialTask</span><span class="p">(</span>
  <span class="n">processes</span> <span class="o">=</span> <span class="p">[</span><span class="n">install</span><span class="p">,</span> <span class="n">hello_world</span><span class="p">],</span>
  <span class="n">resources</span> <span class="o">=</span> <span class="n">Resources</span><span class="p">(</span><span class="n">cpu</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">ram</span> <span class="o">=</span> <span class="mi">1</span><span class="o">*</span><span class="n">MB</span><span class="p">,</span> <span class="n">disk</span><span class="o">=</span><span class="mi">8</span><span class="o">*</span><span class="n">MB</span><span class="p">))</span>

<span class="n">jobs</span> <span class="o">=</span> <span class="p">[</span>
  <span class="n">Service</span><span class="p">(</span><span class="n">cluster</span> <span class="o">=</span> <span class="s">&#39;devcluster&#39;</span><span class="p">,</span>
          <span class="n">environment</span> <span class="o">=</span> <span class="s">&#39;devel&#39;</span><span class="p">,</span>
          <span class="n">role</span> <span class="o">=</span> <span class="s">&#39;www-data&#39;</span><span class="p">,</span>
          <span class="n">name</span> <span class="o">=</span> <span class="s">&#39;hello_world&#39;</span><span class="p">,</span>
          <span class="n">task</span> <span class="o">=</span> <span class="n">hello_world_task</span><span class="p">)</span>
<span class="p">]</span>
</pre>
<p>For more about Aurora configuration files, see the <a href="/documentation/latest/configuration-tutorial/">Configuration
Tutorial</a> and the <a href="/documentation/latest/configuration-reference/">Aurora + Thermos
Reference</a> (preferably after finishing this
tutorial).</p>

<h2 id="what&#39;s-going-on-in-that-configuration-file?">What&rsquo;s Going On In That Configuration File?</h2>

<p>More than you might think.</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>

<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. 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><code>/etc/aurora/clusters.json</code> within the Aurora scheduler has the available
cluster names. For Vagrant, from the top-level of your Aurora repository clone,
do:</p>
<pre class="highlight text">$ vagrant ssh
</pre>
<p>Followed by:</p>
<pre class="highlight text">vagrant@precise64:~$ cat /etc/aurora/clusters.json
</pre>
<p>You&rsquo;ll see something like:</p>
<pre class="highlight javascript"><span class="p">[{</span>
  <span class="s2">&quot;name&quot;</span><span class="err">:</span> <span class="s2">&quot;devcluster&quot;</span><span class="p">,</span>
  <span class="s2">&quot;zk&quot;</span><span class="err">:</span> <span class="s2">&quot;192.168.33.7&quot;</span><span class="p">,</span>
  <span class="s2">&quot;scheduler_zk_path&quot;</span><span class="err">:</span> <span class="s2">&quot;/aurora/scheduler&quot;</span><span class="p">,</span>
  <span class="s2">&quot;auth_mechanism&quot;</span><span class="err">:</span> <span class="s2">&quot;UNAUTHENTICATED&quot;</span>
<span class="p">}]</span>
</pre>
<p>Use a <code>name</code> value for your job key&rsquo;s cluster value.</p>

<p>Role names are user accounts existing on the slave machines. If you don&rsquo;t know what accounts
are available, contact your sysadmin.</p>

<p>Environment names are namespaces; you can count on <code>prod</code>, <code>devel</code> and <code>test</code> existing.</p>

<p>The Aurora Client command that actually runs our Job is <code>aurora create</code>. It creates a Job as
specified by its job key and configuration file arguments and runs it.</p>
<pre class="highlight text">aurora create &lt;cluster&gt;/&lt;role&gt;/&lt;environment&gt;/&lt;jobname&gt; &lt;config_file&gt;
</pre>
<p>Or for our example:</p>
<pre class="highlight text">aurora create devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
</pre>
<p>This returns:</p>
<pre class="highlight text">$ vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
Welcome to your Vagrant-built virtual machine.
Last login: Fri Jan  3 02:18:55 2014 from 10.0.2.2
vagrant@precise64:~$ aurora create devcluster/www-data/devel/hello_world \
    /vagrant/hello_world.aurora
 INFO] Creating job hello_world
 INFO] Response from scheduler: OK (message: 1 new tasks pending for job
  www-data/devel/hello_world)
 INFO] Job url: http://precise64:8081/scheduler/www-data/devel/hello_world
</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 failed, so we have
to figure out what went wrong.</p>

<p>Access the page for our Task by clicking on its host.</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
we will try again.</p>
<pre class="highlight text">aurora update devcluster/www-data/devel/hello_world /vagrant/hello_world.aurora
</pre>
<p>This time, the task comes up, we inspect the 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&#39;
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 text">vagrant@precise64:~$ aurora killall devcluster/www-data/devel/hello_world
 INFO] Killing tasks for job: devcluster/www-data/devel/hello_world
 INFO] Response from scheduler: OK (message: Tasks killed.)
 INFO] Job url: http://precise64:8081/scheduler/www-data/devel/hello_world
vagrant@precise64:~$
</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="/documentation/latest/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="/documentation/latest/configuration-reference/">Aurora + Thermos Configuration Reference</a>.</li>
<li>The <a href="/documentation/latest/user-guide/">Aurora User Guide</a> provides an overview of how Aurora, Mesos, and
Thermos work &ldquo;under the hood&rdquo;.</li>
<li>Explore the Aurora Client - use the <code>aurora help</code> subcommand, and read the
<a href="/documentation/latest/client-commands/">Aurora Client Commands</a> document.</li>
</ul>

  		</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">Apache Aurora is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.</p>
			<p class="disclaimer">Copyright 2014 <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>