Added: aurora/site/publish/documentation/0.17.0/features/webhooks/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/features/webhooks/index.html?rev=1783940&view=auto ============================================================================== --- aurora/site/publish/documentation/0.17.0/features/webhooks/index.html (added) +++ aurora/site/publish/documentation/0.17.0/features/webhooks/index.html Tue Feb 21 20:54:58 2017 @@ -0,0 +1,206 @@ +<!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 + '/features/webhooks/'" + value="0.17.0"> + <option value="0.17.0" + selected="selected"> + 0.17.0 + (latest) + </option> + <option value="0.16.0" + > + 0.16.0 + </option> + <option value="0.15.0" + > + 0.15.0 + </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="webhooks">Webhooks</h1> + +<p>Aurora has an optional feature which allows operator to specify a file to configure a HTTP webhook +to receive task state change events. It can be enabled with a scheduler flag eg +<code>-webhook_config=/path/to/webhook.json</code>. At this point, webhooks are still considered <em>experimental</em>.</p> + +<p>Below is a sample configuration:</p> +<pre class="highlight json"><code><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb"> + </span><span style="color: #000080">"headers"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="background-color: #f8f8f8">{</span><span style="color: #bbbbbb"> + </span><span style="color: #000080">"Content-Type"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #d14">"application/vnd.kafka.json.v1+json"</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb"> + </span><span style="color: #000080">"Producer-Type"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #d14">"reliable"</span><span style="color: #bbbbbb"> + </span><span style="background-color: #f8f8f8">},</span><span style="color: #bbbbbb"> + </span><span style="color: #000080">"targetURL"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #d14">"http://localhost:5000/"</span><span style="background-color: #f8f8f8">,</span><span style="color: #bbbbbb"> + </span><span style="color: #000080">"timeoutMsec"</span><span style="background-color: #f8f8f8">:</span><span style="color: #bbbbbb"> </span><span style="color: #009999">5</span><span style="color: #bbbbbb"> +</span><span style="background-color: #f8f8f8">}</span><span style="color: #bbbbbb"> +</span></code></pre> + +<p>And an example of a response that you will get back: +<code>json +{ + "task": + { + "cachedHashCode":0, + "assignedTask": { + "cachedHashCode":0, + "taskId":"vagrant-test-http_example-8-a6cf7ec5-d793-49c7-b10f-0e14ab80bfff", + "task": { + "cachedHashCode":-1819348376, + "job": { + "cachedHashCode":803049425, + "role":"vagrant", + "environment":"test", + "name":"http_example" + }, + "owner": { + "cachedHashCode":226895216, + "user":"vagrant" + }, + "isService":true, + "numCpus":0.1, + "ramMb":16, + "diskMb":8, + "priority":0, + "maxTaskFailures":1, + "production":false, + "resources":[ + {"cachedHashCode":729800451,"setField":"NUM_CPUS","value":0.1}, + {"cachedHashCode":552899914,"setField":"RAM_MB","value":16}, + {"cachedHashCode":-1547868317,"setField":"DISK_MB","value":8}, + {"cachedHashCode":1957328227,"setField":"NAMED_PORT","value":"http"}, + {"cachedHashCode":1954229436,"setField":"NAMED_PORT","value":"tcp"} + ], + "constraints":[], + "requestedPorts":["http","tcp"], + "taskLinks":{"http":"http://%host%:%port:http%"}, + "contactEmail":"vagrant@localhost", + "executorConfig": { + "cachedHashCode":-1194797325, + "name":"AuroraExecutor", + "data": "{\"environment\": \"test\", \"health_check_config\": {\"initial_interval_secs\": 5.0, \"health_checker\": { \"http\": {\"expected_response_code\": 0, \"endpoint\": \"/health\", \"expected_response\": \"ok\"}}, \"max_consecutive_failures\": 0, \"timeout_secs\": 1.0, \"interval_secs\": 1.0}, \"name\": \"http_example\", \"service\": true, \"max_task_failures\": 1, \"cron_collision_policy\": \"KILL_EXISTING\", \"enable_hooks\": false, \"cluster\": \"devcluster\", \"task\": {\"processes\": [{\"daemon\": false, \"name\": \"echo_ports\", \"ephemeral\": false, \"max_failures\": 1, \"min_duration\": 5, \"cmdline\": \"echo \\\&quo t;tcp port: {{thermos.ports[tcp]}}; http port: {{thermos.ports[http]}}; alias: {{thermos.ports[alias]}}\\\"\", \"final\": false}, {\"daemon\": false, \"name\": \"stage_server\", \"ephemeral\": false, \"max_failures\": 1, \"min_duration\": 5, \"cmdline\": \"cp /vagrant/src/test/sh/org/apache/aurora/e2e/http_example.py .\", \"final\": false}, {\"daemon\": false, \"name\": \"run_server\", \"ephemeral\": false, \"max_failures\": 1, \"min_duration\": 5, \"cmdline\": \"python http_example.py {{thermos.ports[http]}}\", \"final\": false}], \"name\": \"http_example\", \"finalization_wait\": 30, \"max_failures\": 1, \"max_concurrency\": 0, \"resources\": {\"disk\": 8388608, \"ram\": 16777216, \"cpu\": 0.1}, \"constraints\": [{\"order\": [\"echo_ports\", \"stage_server\", \"run_server\"]}]}, \"production\": false, \"role\": \"vagrant\", \"contact\": \"vagrant@localhost\", \"announce\": {\"primary_port\": \"http\", \"portmap\": {\"alias\": \"http\"}}, \"lifecycle\": {\"http\": {\"graceful_shutdown_endpoint\": \"/quitquitquit\", \"port\": \"health\", \"shutdown_endpoint\": \"/abortabortabort\"}}, \"priority\": 0}"}, + "metadata":[], + "container":{ + "cachedHashCode":-1955376216, + "setField":"MESOS", + "value":{"cachedHashCode":31}} + }, + "assignedPorts":{}, + "instanceId":8 + }, + "status":"PENDING", + "failureCount":0, + "taskEvents":[ + {"cachedHashCode":0,"timestamp":1464992060258,"status":"PENDING","scheduler":"aurora"}] + }, + "oldState":{}} +</code></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">© 2014-2017 <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.17.0/getting-started/overview/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/getting-started/overview/index.html?rev=1783940&view=auto ============================================================================== --- aurora/site/publish/documentation/0.17.0/getting-started/overview/index.html (added) +++ aurora/site/publish/documentation/0.17.0/getting-started/overview/index.html Tue Feb 21 20:54:58 2017 @@ -0,0 +1,237 @@ +<!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/overview/'" + value="0.17.0"> + <option value="0.17.0" + selected="selected"> + 0.17.0 + (latest) + </option> + <option value="0.16.0" + > + 0.16.0 + </option> + <option value="0.15.0" + > + 0.15.0 + </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-system-overview">Aurora System Overview</h1> + +<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’ scalability, +fault-tolerance, and resource isolation.</p> + +<h2 id="components">Components</h2> + +<p>It is important to have an understanding of the components that make up +a functioning Aurora cluster.</p> + +<p><img alt="Aurora Components" src="../../images/components.png" /></p> + +<ul> +<li><p><strong>Aurora scheduler</strong> +The scheduler is your primary interface to the work you run in your cluster. You will +instruct it to run jobs, and it will manage them in Mesos for you. You will also frequently use +the scheduler’s read-only web interface as a heads-up display for what’s running in your cluster.</p></li> +<li><p><strong>Aurora client</strong> +The client (<code>aurora</code> command) is a command line tool that exposes primitives that you can use to +interact with the scheduler. The client operates on</p></li> +</ul> + +<p>Aurora also provides an admin client (<code>aurora_admin</code> command) that contains commands built for + cluster administrators. You can use this tool to do things like manage user quotas and manage + graceful maintenance on machines in cluster.</p> + +<ul> +<li><p><strong>Aurora executor</strong> +The executor (a.k.a. Thermos executor) is responsible for carrying out the workloads described in +the Aurora DSL (<code>.aurora</code> files). The executor is what actually executes user processes. It will +also perform health checking of tasks and register tasks in ZooKeeper for the purposes of dynamic +service discovery.</p></li> +<li><p><strong>Aurora observer</strong> +The observer provides browser-based access to the status of individual tasks executing on worker +machines. It gives insight into the processes executing, and facilitates browsing of task sandbox +directories.</p></li> +<li><p><strong>ZooKeeper</strong> +<a href="http://zookeeper.apache.org">ZooKeeper</a> is a distributed consensus system. In an Aurora cluster +it is used for reliable election of the leading Aurora scheduler and Mesos master. It is also +used as a vehicle for service discovery, see <a href="../../features/service-discovery/">Service Discovery</a></p></li> +<li><p><strong>Mesos master</strong> +The master is responsible for tracking worker machines and performing accounting of their +resources. The scheduler interfaces with the master to control the cluster.</p></li> +<li><p><strong>Mesos agent</strong> +The agent receives work assigned by the scheduler and executes them. It interfaces with Linux +isolation systems like cgroups, namespaces and Docker to manage the resource consumption of tasks. +When a user task is launched, the agent will launch the executor (in the context of a Linux cgroup +or Docker container depending upon the environment), which will in turn fork user processes.</p></li> +</ul> + +<p>In earlier versions of Mesos and Aurora, the Mesos agent was known as the Mesos slave.</p> + +<h2 id="jobs-tasks-and-processes">Jobs, Tasks and Processes</h2> + +<p>Aurora is a Mesos framework used to schedule <em>jobs</em> onto Mesos. Mesos +cares about individual <em>tasks</em>, but typical jobs consist of dozens or +hundreds of task replicas. Aurora provides a layer on top of Mesos with +its <code>Job</code> abstraction. An Aurora <code>Job</code> consists of a task template and +instructions for creating near-identical replicas of that task (modulo +things like “instance id” or specific port numbers which may differ from +machine to machine).</p> + +<p>How many tasks make up a Job is complicated. On a basic level, a Job consists of +one task template and instructions for creating near-identical replicas of that task +(otherwise referred to as “instances” or “shards”).</p> + +<p>A task can merely be a single <em>process</em> corresponding to a single +command line, such as <code>python2.7 my_script.py</code>. However, a task can also +consist of many separate processes, which all run within a single +sandbox. For example, running multiple cooperating agents together, +such as <code>logrotate</code>, <code>installer</code>, master, or agent processes. This is +where Thermos comes in. While Aurora provides a <code>Job</code> abstraction on +top of Mesos <code>Tasks</code>, Thermos provides a <code>Process</code> abstraction +underneath Mesos <code>Task</code>s and serves as part of the Aurora framework’s +executor.</p> + +<p>You define <code>Job</code>s,<code>Task</code>s, and <code>Process</code>es in a configuration file. +Configuration files are written in Python, and make use of the +<a href="https://github.com/wickman/pystachio">Pystachio</a> templating language, +along with specific Aurora, Mesos, and Thermos commands and methods. +The configuration files typically end with a <code>.aurora</code> extension.</p> + +<p>Summary:</p> + +<ul> +<li>Aurora manages jobs made of tasks.</li> +<li>Mesos manages tasks made of processes.</li> +<li>Thermos manages processes.</li> +<li>All that is defined in <code>.aurora</code> configuration files</li> +</ul> + +<p><img alt="Aurora hierarchy" src="../../images/aurora_hierarchy.png" /></p> + +<p>Each <code>Task</code> has a <em>sandbox</em> created when the <code>Task</code> starts and garbage +collected when it finishes. All of a <code>Task'</code>s processes run in its +sandbox, so processes can share state by using a shared current working +directory.</p> + +<p>The sandbox garbage collection policy considers many factors, most +importantly age and size. It makes a best-effort attempt to keep +sandboxes around as long as possible post-task in order for service +owners to inspect data and logs, should the <code>Task</code> have completed +abnormally. But you can’t design your applications assuming sandboxes +will be around forever, e.g. by building log saving or other +checkpointing mechanisms directly into your application or into your +<code>Job</code> description.</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">© 2014-2017 <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.17.0/getting-started/tutorial/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/getting-started/tutorial/index.html?rev=1783940&view=auto ============================================================================== --- aurora/site/publish/documentation/0.17.0/getting-started/tutorial/index.html (added) +++ aurora/site/publish/documentation/0.17.0/getting-started/tutorial/index.html Tue Feb 21 20:54:58 2017 @@ -0,0 +1,387 @@ +<!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.17.0"> + <option value="0.17.0" + selected="selected"> + 0.17.0 + (latest) + </option> + <option value="0.16.0" + > + 0.16.0 + </option> + <option value="0.15.0" + > + 0.15.0 + </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 “<code>printf-debug</code>”) +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 “hello world” 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 . && echo </span><span style="color: #d14">%</span><span style="color: #d14">s && 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 “big picture” 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’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 +“/”. The four parts are <code><cluster>/<role>/<environment>/<jobname></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’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’ll see something like the following. The <code>name</code> value shown here, corresponds to a job key’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 <cluster>/<role>/<environment>/<jobname> <config_file> +</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’s see what it’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’ll see:</p> + +<p><img alt="hello_world Job" src="../../images/HelloWorldJob.png" /></p> + +<p>Oops, looks like our first job didn’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’ +output:</p> + +<p><img alt="stdout page" src="../../images/stdout.png" /></p> + +<h2 id="cleanup">Cleanup</h2> + +<p>Now that we’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’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">© 2014-2017 <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.17.0/getting-started/vagrant/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/getting-started/vagrant/index.html?rev=1783940&view=auto ============================================================================== --- aurora/site/publish/documentation/0.17.0/getting-started/vagrant/index.html (added) +++ aurora/site/publish/documentation/0.17.0/getting-started/vagrant/index.html Tue Feb 21 20:54:58 2017 @@ -0,0 +1,275 @@ +<!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.17.0"> + <option value="0.17.0" + selected="selected"> + 0.17.0 + (latest) + </option> + <option value="0.16.0" + > + 0.16.0 + </option> + <option value="0.15.0" + > + 0.15.0 + </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’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’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’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’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">© 2014-2017 <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.17.0/images/CPUavailability.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/CPUavailability.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/CPUavailability.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/CompletedTasks.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/CompletedTasks.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/CompletedTasks.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/HelloWorldJob.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/HelloWorldJob.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/HelloWorldJob.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/RoleJobs.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/RoleJobs.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/RoleJobs.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/RunningJob.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/RunningJob.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/RunningJob.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/ScheduledJobs.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/ScheduledJobs.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/ScheduledJobs.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/TaskBreakdown.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/TaskBreakdown.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/TaskBreakdown.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/aurora_hierarchy.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/aurora_hierarchy.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/aurora_hierarchy.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/aurora_logo.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/aurora_logo.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/aurora_logo.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/components.odg URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/components.odg?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/components.odg ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/components.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/components.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/components.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/debug-client-test.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/debug-client-test.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/debug-client-test.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/debugging-client-test.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/debugging-client-test.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/debugging-client-test.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/killedtask.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/killedtask.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/killedtask.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/lifeofatask.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/lifeofatask.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/lifeofatask.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_adopters_panel_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_tellapart_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/02_19_2015_aurora_at_twitter_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/02_28_2015_apache_aurora_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/02_28_2015_apache_aurora_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/02_28_2015_apache_aurora_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.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.17.0/images/presentations/03_07_2015_aurora_mesos_in_practice_at_twitter_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.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.17.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/03_25_2014_introduction_to_aurora_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/04_30_2015_monolith_to_microservices_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/08_21_2014_past_present_future_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/08_21_2014_past_present_future_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/08_21_2014_past_present_future_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.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.17.0/images/presentations/10_08_2015_mesos_aurora_on_a_small_scale_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.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.17.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.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.17.0/images/runningtask.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/runningtask.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/runningtask.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/stderr.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/stderr.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/stderr.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/stdout.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/stdout.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/stdout.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/images/storage_hierarchy.png URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/images/storage_hierarchy.png?rev=1783940&view=auto ============================================================================== Binary file - no diff available. Propchange: aurora/site/publish/documentation/0.17.0/images/storage_hierarchy.png ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: aurora/site/publish/documentation/0.17.0/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.17.0/index.html?rev=1783940&view=auto ============================================================================== --- aurora/site/publish/documentation/0.17.0/index.html (added) +++ aurora/site/publish/documentation/0.17.0/index.html Tue Feb 21 20:54:58 2017 @@ -0,0 +1,229 @@ +<!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.17.0"> + <option value="0.17.0" + selected="selected"> + 0.17.0 + (latest) + </option> + <option value="0.16.0" + > + 0.16.0 + </option> + <option value="0.15.0" + > + 0.15.0 + </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’ 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/custom-executors/">Custom Executors</a></li> +<li><a href="features/job-updates/">Job Updates</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’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">© 2014-2017 <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>
