Author: dlester Date: Wed Aug 26 20:12:12 2015 New Revision: 1697999 URL: http://svn.apache.org/r1697999 Log: Update Aurora website to reflect latest documentation.
Added: aurora/site/publish/documentation/latest/build-system/ aurora/site/publish/documentation/latest/build-system/index.html aurora/site/publish/documentation/latest/presentations/ aurora/site/publish/documentation/latest/presentations/index.html aurora/site/source/documentation/latest/build-system.md aurora/site/source/documentation/latest/presentations.md Modified: aurora/site/publish/documentation/latest/configuration-reference/index.html aurora/site/publish/documentation/latest/cron-jobs/index.html aurora/site/publish/documentation/latest/deploying-aurora-scheduler/index.html aurora/site/publish/documentation/latest/developing-aurora-client/index.html aurora/site/publish/documentation/latest/developing-aurora-scheduler/index.html aurora/site/publish/documentation/latest/index.html aurora/site/publish/documentation/latest/sla/index.html aurora/site/publish/documentation/latest/storage-config/index.html aurora/site/publish/documentation/latest/test-resource-generation/index.html aurora/site/publish/documentation/latest/vagrant/index.html aurora/site/publish/sitemap.xml aurora/site/source/documentation/latest.html.md aurora/site/source/documentation/latest/configuration-reference.md aurora/site/source/documentation/latest/cron-jobs.md aurora/site/source/documentation/latest/deploying-aurora-scheduler.md aurora/site/source/documentation/latest/developing-aurora-client.md aurora/site/source/documentation/latest/developing-aurora-scheduler.md aurora/site/source/documentation/latest/sla.md aurora/site/source/documentation/latest/storage-config.md aurora/site/source/documentation/latest/test-resource-generation.md aurora/site/source/documentation/latest/vagrant.md Added: aurora/site/publish/documentation/latest/build-system/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/build-system/index.html?rev=1697999&view=auto ============================================================================== --- aurora/site/publish/documentation/latest/build-system/index.html (added) +++ aurora/site/publish/documentation/latest/build-system/index.html Wed Aug 26 20:12:12 2015 @@ -0,0 +1,167 @@ +<!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</h5> +<p>The Python components of Aurora are built using <a href="https://pantsbuild.github.io">Pants</a>.</p> + +<h1 id="python-build-conventions">Python Build Conventions</h1> + +<p>The Python code is laid out according to the following conventions: </p> + +<ol> +<li><p>1 <code>BUILD</code> per 3rd level directory. For a list of current top-level packages run:</p> +<pre class="highlight text">% find src/main/python -maxdepth 3 -mindepth 3 -type d |\ +while read dname; do echo $dname |\ + sed 's@src/main/python/\(.*\)/\(.*\)/\(.*\).*@\1.\2.\3@'; done +</pre></li> +<li><p>Each <code>BUILD</code> file exports 1 +<a href="https://pantsbuild.github.io/build_dictionary.html#bdict_python_library"><code>python_library</code></a> +that provides a +<a href="https://pantsbuild.github.io/build_dictionary.html#setup_py"><code>setup_py</code></a> +containing each +<a href="https://pantsbuild.github.io/build_dictionary.html#python_binary"><code>python_binary</code></a> +in the <code>BUILD</code> file, named the same as the directory it’s in so that it can be referenced +without a ’:’ character. The <code>sources</code> field in the <code>python_library</code> will almost always be +<code>rglobs('*.py')</code>.</p></li> +<li><p>Other BUILD files may only depend on this single public <code>python_library</code> +target. Any other target is considered a private implementation detail and +should be prefixed with an <code>_</code>.</p></li> +<li><p><code>python_binary</code> targets are always named the same as the exported console script.</p></li> +<li><p><code>python_binary</code> targets must have identical <code>dependencies</code> to the <code>python_library</code> exported +by the package and must use <code>entry_point</code>.</p> + +<p>The means a PEX file generated by pants will contain exactly the same files that will be +available on the <code>PYTHONPATH</code> in the case of <code>pip install</code> of the corresponding library +target. This will help our migration off of Pants in the future.</p></li> +</ol> + +<h2 id="annotated-example-apache-thermos-runner">Annotated example - apache.thermos.runner</h2> +<pre class="highlight text">% find src/main/python/apache/thermos/runner +src/main/python/apache/thermos/runner +src/main/python/apache/thermos/runner/__init__.py +src/main/python/apache/thermos/runner/thermos_runner.py +src/main/python/apache/thermos/runner/BUILD +% cat src/main/python/apache/thermos/runner/BUILD +# License boilerplate omitted +import os + + +# Private target so that a setup_py can exist without a circular dependency. Only targets within +# this file should depend on this. +python_library( + name = '_runner', + # The target covers every python file under this directory and subdirectories. + sources = rglobs('*.py'), + dependencies = [ + '3rdparty/python:twitter.common.app', + '3rdparty/python:twitter.common.log', + # Source dependencies are always referenced without a ':'. + 'src/main/python/apache/thermos/common', + 'src/main/python/apache/thermos/config', + 'src/main/python/apache/thermos/core', + ], +) + +# Binary target for thermos_runner.pex. Nothing should depend on this - it's only used as an +# argument to ./pants binary. +python_binary( + name = 'thermos_runner', + # Use entry_point, not source so the files used here are the same ones tests see. + entry_point = 'apache.thermos.bin.thermos_runner', + dependencies = [ + # Notice that we depend only on the single private target from this BUILD file here. + ':_runner', + ], +) + +# The public library that everyone importing the runner symbols uses. +# The test targets and any other dependent source code should depend on this. +python_library( + name = 'runner', + dependencies = [ + # Again, notice that we depend only on the single private target from this BUILD file here. + ':_runner', + ], + # We always provide a setup_py. This will cause any dependee libraries to automatically + # reference this library in their requirements.txt rather than copy the source files into their + # sdist. + provides = setup_py( + # Conventionally named and versioned. + name = 'apache.thermos.runner', + version = open(os.path.join(get_buildroot(), '.auroraversion')).read().strip().upper(), + ).with_binaries({ + # Every binary in this file should also be repeated here. + # Always use the dict-form of .with_binaries so that commands with dashes in their names are + # supported. + # The console script name is always the same as the PEX with .pex stripped. + 'thermos_runner': ':thermos_runner', + }), +) +</pre></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">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> \ No newline at end of file Modified: aurora/site/publish/documentation/latest/configuration-reference/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/configuration-reference/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/configuration-reference/index.html (original) +++ aurora/site/publish/documentation/latest/configuration-reference/index.html Wed Aug 26 20:12:12 2015 @@ -85,6 +85,7 @@ <li><a href="#healthcheckconfig-objects">HealthCheckConfig Objects</a></li> <li><a href="#announcer-objects">Announcer Objects</a></li> <li><a href="#container">Container Objects</a></li> +<li><a href="#lifecycleconfig-objects">LifecycleConfig Objects</a></li> </ul></li> <li><a href="#specifying-scheduling-constraints">Specifying Scheduling Constraints</a></li> <li><a href="#template-namespaces">Template Namespaces</a> @@ -551,6 +552,11 @@ resources are allocated.</p> <td style="text-align: center"><code>Container</code> object</td> <td>An optional container to run all processes inside of.</td> </tr> +<tr> +<td><code>lifecycle</code></td> +<td style="text-align: center"><code>LifecycleConfig</code> object</td> +<td>An optional task lifecycle configuration that dictates commands to be executed on startup/teardown. HTTP lifecycle is enabled by default if the “health” port is requested. See <a href="#lifecycleconfig-objects">LifecycleConfig Objects</a> for more information.</td> +</tr> </tbody></table> <h3 id="services">Services</h3> @@ -638,14 +644,29 @@ either due to human error or machine fai <td>Interval on which to check the task’s health via HTTP. (Default: 10)</td> </tr> <tr> +<td><code>max_consecutive_failures</code></td> +<td style="text-align: center">Integer</td> +<td>Maximum number of consecutive failures that tolerated before considering a task unhealthy (Default: 0)</td> +</tr> +<tr> <td><code>timeout_secs</code></td> <td style="text-align: center">Integer</td> <td>HTTP request timeout. (Default: 1)</td> </tr> <tr> -<td><code>max_consecutive_failures</code></td> +<td><code>endpoint</code></td> +<td style="text-align: center">String</td> +<td>HTTP endpoint to check (Default: /health)</td> +</tr> +<tr> +<td><code>expected_response</code></td> +<td style="text-align: center">String</td> +<td>If not empty, fail the health check if the response differs. Case insensitive. (Default: ok)</td> +</tr> +<tr> +<td><code>expected_response_code</code></td> <td style="text-align: center">Integer</td> -<td>Maximum number of consecutive failures that tolerated before considering a task unhealthy (Default: 0)</td> +<td>If not zero, fail the health check if the response code differs. (Default: 0)</td> </tr> </tbody></table> @@ -734,8 +755,96 @@ guarantees should they be needed.</p> <td style="text-align: center">String</td> <td>The name of the docker image to execute. If the image does not exist locally it will be pulled with <code>docker pull</code>.</td> </tr> +<tr> +<td><code>parameters</code></td> +<td style="text-align: center">List(Parameter)</td> +<td>Additional parameters to pass to the docker containerizer.</td> +</tr> +</tbody></table> + +<h3 id="docker-parameter-object">Docker Parameter Object</h3> + +<p>Docker CLI parameters. This needs to be enabled by the scheduler <code>enable_docker_parameters</code> option. +See <a href="https://docs.docker.com/reference/commandline/run/">Docker Command Line Reference</a> for valid parameters. </p> + +<table><thead> +<tr> +<th>param</th> +<th style="text-align: center">type</th> +<th>description</th> +</tr> +</thead><tbody> +<tr> +<td><code>name</code></td> +<td style="text-align: center">String</td> +<td>The name of the docker parameter. E.g. volume</td> +</tr> +<tr> +<td><code>value</code></td> +<td style="text-align: center">String</td> +<td>The value of the parameter. E.g. /usr/local/bin:/usr/bin:rw</td> +</tr> </tbody></table> +<h3 id="lifecycleconfig-objects">LifecycleConfig Objects</h3> + +<p><em>Note: The only lifecycle configuration supported is the HTTP lifecycle via the HTTPLifecycleConfig.</em></p> + +<table><thead> +<tr> +<th>param</th> +<th style="text-align: center">type</th> +<th>description</th> +</tr> +</thead><tbody> +<tr> +<td><code>http</code></td> +<td style="text-align: center">HTTPLifecycleConfig</td> +<td>Configure the lifecycle manager to send lifecycle commands to the task via HTTP.</td> +</tr> +</tbody></table> + +<h3 id="httplifecycleconfig-objects">HTTPLifecycleConfig Objects</h3> + +<table><thead> +<tr> +<th>param</th> +<th style="text-align: center">type</th> +<th>description</th> +</tr> +</thead><tbody> +<tr> +<td><code>port</code></td> +<td style="text-align: center">String</td> +<td>The named port to send POST commands (Default: health)</td> +</tr> +<tr> +<td><code>graceful_shutdown_endpoint</code></td> +<td style="text-align: center">String</td> +<td>Endpoint to hit to indicate that a task should gracefully shutdown. (Default: /quitquitquit)</td> +</tr> +<tr> +<td><code>shutdown_endpoint</code></td> +<td style="text-align: center">String</td> +<td>Endpoint to hit to give a task its final warning before being killed. (Default: /abortabortabort)</td> +</tr> +</tbody></table> + +<h4 id="gracefulshutdownendpoint">graceful<em>shutdown</em>endpoint</h4> + +<p>If the Job is listening on the port as specified by the HTTPLifecycleConfig +(default: <code>health</code>), a HTTP POST request will be sent over localhost to this +endpoint to request that the task gracefully shut itself down. This is a +courtesy call before the <code>shutdown_endpoint</code> is invoked a fixed amount of +time later.</p> + +<h4 id="shutdown_endpoint">shutdown_endpoint</h4> + +<p>If the Job is listening on the port as specified by the HTTPLifecycleConfig +(default: <code>health</code>), a HTTP POST request will be sent over localhost to this +endpoint to request as a final warning before being shut down. If the task +does not shut down on its own after this, it will be forcefully killed</p> + <h1 id="specifying-scheduling-constraints">Specifying Scheduling Constraints</h1> <p>Most users will not need to specify constraints explicitly, as the Modified: aurora/site/publish/documentation/latest/cron-jobs/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/cron-jobs/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/cron-jobs/index.html (original) +++ aurora/site/publish/documentation/latest/cron-jobs/index.html Wed Aug 26 20:12:12 2015 @@ -118,7 +118,7 @@ grow faster than they can process it.</p <p>Unlike with services, which aurora will always re-execute regardless of exit status, instances of cron jobs retry according to the <code>max_task_failures</code> attribute of the -<a href="configuration-reference.md#task-objects">Task</a> object. To get “run-until-failure” semantics, +<a href="configuration-reference.md#task-objects">Task</a> object. To get “run-until-success” semantics, set <code>max_task_failures</code> to <code>-1</code>.</p> <h2 id="interacting-with-cron-jobs-via-the-aurora-cli">Interacting with cron jobs via the Aurora CLI</h2> Modified: aurora/site/publish/documentation/latest/deploying-aurora-scheduler/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/deploying-aurora-scheduler/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/deploying-aurora-scheduler/index.html (original) +++ aurora/site/publish/documentation/latest/deploying-aurora-scheduler/index.html Wed Aug 26 20:12:12 2015 @@ -94,7 +94,7 @@ machines. This guide helps you get the <p>The Aurora scheduler is a standalone Java server. As part of the build process it creates a bundle of all its dependencies, with the notable exceptions of the JVM and libmesos. Each target server -should have a JVM (Java 7 or higher) and libmesos (0.22.0) installed.</p> +should have a JVM (Java 7 or higher) and libmesos (0.23.0) installed.</p> <h3 id="creating-the-distribution-zip-file-optional-">Creating the Distribution .zip File (Optional)</h3> @@ -358,7 +358,7 @@ the master in ZooKeeper, make sure comma <h4 id="symptoms">Symptoms</h4> -<p>The scheduler is registered, and (receiving offers](docs/monitoring.md#scheduler<em>resource</em>offers), +<p>The scheduler is registered, and <a href="monitoring.md#scheduler_resource_offers">receiving offers</a>, but tasks are perpetually shown as <code>PENDING - Constraint not satisfied: host</code>.</p> <h4 id="solution">Solution</h4> Modified: aurora/site/publish/documentation/latest/developing-aurora-client/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/developing-aurora-client/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/developing-aurora-client/index.html (original) +++ aurora/site/publish/documentation/latest/developing-aurora-client/index.html Wed Aug 26 20:12:12 2015 @@ -69,7 +69,7 @@ To start a virtual cluster, you need to the aurora workspace. This will create a vagrant host named “devcluster”, with a mesos master, a set of mesos slaves, and an aurora scheduler.</p> -<p>If you have changed you would like to test in your local cluster, you’ll rebuild the client:</p> +<p>If you have a change you would like to test in your local cluster, you’ll rebuild the client:</p> <pre class="highlight text">vagrant ssh -c 'aurorabuild client' </pre> <p>Once this completes, the <code>aurora</code> command will reflect your changes.</p> Modified: aurora/site/publish/documentation/latest/developing-aurora-scheduler/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/developing-aurora-scheduler/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/developing-aurora-scheduler/index.html (original) +++ aurora/site/publish/documentation/latest/developing-aurora-scheduler/index.html Wed Aug 26 20:12:12 2015 @@ -118,6 +118,25 @@ bower remove <library name> bower update <library name> bower help </pre> +<h2 id="faster-iteration-in-vagrant">Faster Iteration in Vagrant</h2> + +<p>The scheduler serves UI assets from the classpath. For production deployments this means the assets +are served from within a jar. However, for faster development iteration, the vagrant image is +configured to add <code>/vagrant/dist/resources/main</code> to the head of CLASSPATH. This path is configured +as a shared filesystem to the path on the host system where your Aurora repository lives. This means +that any updates to dist/resources/main in your checkout will be reflected immediately in the UI +served from within the vagrant image.</p> + +<p>The one caveat to this is that this path is under <code>dist</code> not <code>src</code>. This is because the assets must +be processed by gradle before they can be served. So, unfortunately, you cannot just save your local +changes and see them reflected in the UI, you must first run <code>./gradlew processResources</code>. This is +less than ideal, but better than having to restart the scheduler after every change. Additionally, +gradle makes this process somewhat easier with the use of the <code>--continuous</code> flag. If you run: +<code>./gradlew processResources --continuous</code> gradle will monitor the filesystem for changes and run the +task automatically as necessary. This doesn’t quite provide hot-reload capabilities, but it does +allow for <5s from save to changes being visibile in the UI with no further action required on the +part of the developer.</p> + <h1 id="developing-the-aurora-build-system">Developing the Aurora Build System</h1> <h2 id="bootstrapping-gradle">Bootstrapping Gradle</h2> Modified: aurora/site/publish/documentation/latest/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/index.html (original) +++ aurora/site/publish/documentation/latest/index.html Wed Aug 26 20:12:12 2015 @@ -79,10 +79,17 @@ <h2 id="developers">Developers</h2> <ul> -<li><a href="/documentation/latest/contributing/">Contributing to the project</a></li> +<li><a href="../CONTRIBUTING.md">Contributing to the project</a></li> <li><a href="/documentation/latest/developing-aurora-scheduler/">Developing the Aurora Scheduler</a></li> <li><a href="/documentation/latest/developing-aurora-client/">Developing the Aurora Client</a></li> <li><a href="/documentation/latest/committers/">Committers Guide</a></li> +<li><a href="/documentation/latest/build-system/">Build System</a></li> +</ul> + +<h2 id="additional-resources">Additional Resources</h2> + +<ul> +<li><a href="/documentation/latest/presentations/">Presentation videos and slides</a></li> </ul> </div> Added: aurora/site/publish/documentation/latest/presentations/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/presentations/index.html?rev=1697999&view=auto ============================================================================== --- aurora/site/publish/documentation/latest/presentations/index.html (added) +++ aurora/site/publish/documentation/latest/presentations/index.html Wed Aug 26 20:12:12 2015 @@ -0,0 +1,123 @@ +<!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</h5> +<h1 id="apache-aurora-presentations">Apache Aurora Presentations</h1> + +<p>Video and slides from presentations and panel discussions about Apache Aurora.</p> + +<p><em>(Listed in date descending order)</em></p> + +<table> + <tr> + <td><img src="images/presentations/04_30_2015_monolith_to_microservices_thumb.png" alt="From Monolith to Microservices with Aurora Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=yXkOgnyK4Hw">From Monolith to Microservices w/ Aurora (Video)</a></strong> + <p>Presented by Thanos Baskous, Tony Dong, Dobromir Montauk</p> + <p>April 30, 2015 at <a href="http://www.meetup.com/Bay-Area-Apache-Aurora-Users-Group/events/221219480/">Bay Area Apache Aurora Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_28_2015_apache_aurora_thumb.png" alt="Apache Auroraã®å§ããã Slideshow Thumbnail" /></td> + <td><strong><a href="http://www.slideshare.net/zembutsu/apache-aurora-introduction-and-tutorial-osc15tk">Apache Auroraã®å§ããã (Slides)</a></strong> + <p>Presented by Masahito Zembutsu</p> + <p>February 28, 2015 at <a href="http://www.ospn.jp/osc2015-spring/">Open Source Conference 2015 Tokyo Spring</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_adopters_panel_thumb.png" alt="Apache Aurora Adopters Panel Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=2Jsj0zFdRlg">Apache Aurora Adopters Panel (Video)</a></strong> + <p>Panelists Ben Staffin, Josh Adams, Bill Farner, Berk Demir</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_at_twitter_thumb.png" alt="Operating Apache Aurora and Mesos at Twitter Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=E4lxX6epM_U">Operating Apache Aurora and Mesos at Twitter (Video)</a></strong> + <p>Presented by Joe Smith</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_at_tellapart_thumb.png" alt="Apache Aurora and Mesos at TellApart" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=ZZXtXLvTXAE">Apache Aurora and Mesos at TellApart (Video)</a></strong> + <p>Presented by Steve Niemitz</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/08_21_2014_past_present_future_thumb.png" alt="Past, Present, and Future of the Aurora Scheduler Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=Dsc5CPhKs4o">Past, Present, and Future of the Aurora Scheduler (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>August 21, 2014 at <a href="http://events.linuxfoundation.org/events/archive/2014/mesoscon">#MesosCon 2014</a></p> +</td> + </tr> + <tr> + <td><img src="images/presentations/03_25_2014_introduction_to_aurora_thumb.png" alt="Introduction to Apache Aurora Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=asd_h6VzaJc">Introduction to Apache Aurora (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>March 25, 2014 at <a href="https://www.eventbrite.com/e/aurora-and-mesosframeworksmeetup-tickets-10850994617">Aurora and Mesos Frameworks Meetup</a></p></td> + </tr> +</table> +</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">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> \ No newline at end of file Modified: aurora/site/publish/documentation/latest/sla/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/sla/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/sla/index.html (original) +++ aurora/site/publish/documentation/latest/sla/index.html Wed Aug 26 20:12:12 2015 @@ -60,8 +60,9 @@ Agreements) metrics that defining a contractual relationship between the Aurora/Mesos platform and hosted services.</p> -<p>The Aurora SLA feature currently supports stat collection only for service (non-cron) -production jobs (<code>"production = True"</code> in your <code>.aurora</code> config).</p> +<p>The Aurora SLA feature is by default only enabled for service (non-cron) +production jobs (<code>"production = True"</code> in your <code>.aurora</code> config). It can be enabled for +non-production services via the scheduler command line flag <code>-sla_non_prod_metrics</code>.</p> <p>Counters that track SLA measurements are computed periodically within the scheduler. The individual instance metrics are refreshed every minute (configurable via Modified: aurora/site/publish/documentation/latest/storage-config/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/storage-config/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/storage-config/index.html (original) +++ aurora/site/publish/documentation/latest/storage-config/index.html Wed Aug 26 20:12:12 2015 @@ -158,9 +158,9 @@ accomplished by updating the following s registering with Mesos. E.g.: <code>-mesos_master_address=zk://localhost:2181</code></li> <li><code>-max_registration_delay</code> - set to sufficiently long interval to prevent registration timeout and as a result scheduler suicide. E.g: <code>-max_registration_delay=360min</code></li> -<li>Make sure <code>-gc_executor_path</code> option is not set to prevent accidental task GC. This is -important as scheduler will attempt to reconcile the cluster state and will kill all tasks when -restarted with an empty Mesos replicated log.</li> +<li>Make sure <code>-reconciliation_initial_delay</code> option is set high enough (e.g.: <code>365days</code>) to +prevent accidental task GC. This is important as scheduler will attempt to reconcile the cluster +state and will kill all tasks when restarted with an empty Mesos replicated log.</li> </ul></li> <li><p>Restart all schedulers</p></li> </ul> Modified: aurora/site/publish/documentation/latest/test-resource-generation/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/test-resource-generation/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/test-resource-generation/index.html (original) +++ aurora/site/publish/documentation/latest/test-resource-generation/index.html Wed Aug 26 20:12:12 2015 @@ -46,9 +46,8 @@ <p>The Aurora source repository and distributions contain several <a href="../src/test/resources/org/apache/thermos/root/checkpoints">binary files</a> to qualify the backwards-compatibility of thermos with checkpoint data. Since -thermos persists state to disk, to be read by other components (the GC executor -and the thermos observer), it is important that we have tests that prevent -regressions affecting the ability to parse previously-written data.</p> +thermos persists state to disk, to be read by the thermos observer), it is important that we have +tests that prevent regressions affecting the ability to parse previously-written data.</p> <h2 id="generating-test-files">Generating test files</h2> Modified: aurora/site/publish/documentation/latest/vagrant/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/latest/vagrant/index.html?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/documentation/latest/vagrant/index.html (original) +++ aurora/site/publish/documentation/latest/vagrant/index.html Wed Aug 26 20:12:12 2015 @@ -78,7 +78,7 @@ 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 text"> git clone http://git.apache.org/aurora.git +<pre class="highlight text"> git clone git://git.apache.org/aurora.git </pre> <h2 id="start-the-local-cluster">Start the local cluster</h2> Modified: aurora/site/publish/sitemap.xml URL: http://svn.apache.org/viewvc/aurora/site/publish/sitemap.xml?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/publish/sitemap.xml (original) +++ aurora/site/publish/sitemap.xml Wed Aug 26 20:12:12 2015 @@ -2,146 +2,154 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://aurora.apache.org/blog/aurora-0-6-0-incubating-released/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/blog/aurora-0-7-0-incubating-released/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/blog/2015-upcoming-apache-aurora-meetups/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/blog/aurora-0-8-0-released/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/blog/aurora-0-9-0-released/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/blog/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/community/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/developers/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/docs/gettingstarted/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/docs/howtocontribute/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> + </url> + <url> + <loc>http://aurora.apache.org/documentation/latest/build-system/</loc> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/client-cluster-configuration/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/client-commands/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/committers/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/configuration-reference/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/configuration-tutorial/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/contributing/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/cron-jobs/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/deploying-aurora-scheduler/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/developing-aurora-client/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/developing-aurora-scheduler/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/hooks/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/monitoring/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> + </url> + <url> + <loc>http://aurora.apache.org/documentation/latest/presentations/</loc> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/resource-isolation/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/scheduler-storage/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/security/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/sla/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/storage-config/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/storage/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/test-resource-generation/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/thrift-deprecation/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/tutorial/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/user-guide/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/vagrant/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/documentation/latest/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/downloads/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> <url> <loc>http://aurora.apache.org/</loc> - <lastmod>2015-07-24T00:00:00-04:00</lastmod> + <lastmod>2015-08-26T00:00:00-07:00</lastmod> </url> </urlset> \ No newline at end of file Modified: aurora/site/source/documentation/latest.html.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest.html.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest.html.md (original) +++ aurora/site/source/documentation/latest.html.md Wed Aug 26 20:12:12 2015 @@ -27,7 +27,11 @@ We encourage you to ask questions on the * [Generating test resources](/documentation/latest/test-resource-generation/) ## Developers - * [Contributing to the project](/documentation/latest/contributing/) + * [Contributing to the project](../CONTRIBUTING.md) * [Developing the Aurora Scheduler](/documentation/latest/developing-aurora-scheduler/) * [Developing the Aurora Client](/documentation/latest/developing-aurora-client/) * [Committers Guide](/documentation/latest/committers/) + * [Build System](/documentation/latest/build-system/) + +## Additional Resources + * [Presentation videos and slides](/documentation/latest/presentations/) Added: aurora/site/source/documentation/latest/build-system.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/build-system.md?rev=1697999&view=auto ============================================================================== --- aurora/site/source/documentation/latest/build-system.md (added) +++ aurora/site/source/documentation/latest/build-system.md Wed Aug 26 20:12:12 2015 @@ -0,0 +1,100 @@ +The Python components of Aurora are built using [Pants](https://pantsbuild.github.io). + +Python Build Conventions +======================== +The Python code is laid out according to the following conventions: + +1. 1 `BUILD` per 3rd level directory. For a list of current top-level packages run: + + % find src/main/python -maxdepth 3 -mindepth 3 -type d |\ + while read dname; do echo $dname |\ + sed 's@src/main/python/\(.*\)/\(.*\)/\(.*\).*@\1.\2.\3@'; done + +2. Each `BUILD` file exports 1 + [`python_library`](https://pantsbuild.github.io/build_dictionary.html#bdict_python_library) + that provides a + [`setup_py`](https://pantsbuild.github.io/build_dictionary.html#setup_py) + containing each + [`python_binary`](https://pantsbuild.github.io/build_dictionary.html#python_binary) + in the `BUILD` file, named the same as the directory it's in so that it can be referenced + without a ':' character. The `sources` field in the `python_library` will almost always be + `rglobs('*.py')`. + +3. Other BUILD files may only depend on this single public `python_library` + target. Any other target is considered a private implementation detail and + should be prefixed with an `_`. + +4. `python_binary` targets are always named the same as the exported console script. + +5. `python_binary` targets must have identical `dependencies` to the `python_library` exported + by the package and must use `entry_point`. + + The means a PEX file generated by pants will contain exactly the same files that will be + available on the `PYTHONPATH` in the case of `pip install` of the corresponding library + target. This will help our migration off of Pants in the future. + +Annotated example - apache.thermos.runner +----------------------------------------- +``` +% find src/main/python/apache/thermos/runner +src/main/python/apache/thermos/runner +src/main/python/apache/thermos/runner/__init__.py +src/main/python/apache/thermos/runner/thermos_runner.py +src/main/python/apache/thermos/runner/BUILD +% cat src/main/python/apache/thermos/runner/BUILD +# License boilerplate omitted +import os + + +# Private target so that a setup_py can exist without a circular dependency. Only targets within +# this file should depend on this. +python_library( + name = '_runner', + # The target covers every python file under this directory and subdirectories. + sources = rglobs('*.py'), + dependencies = [ + '3rdparty/python:twitter.common.app', + '3rdparty/python:twitter.common.log', + # Source dependencies are always referenced without a ':'. + 'src/main/python/apache/thermos/common', + 'src/main/python/apache/thermos/config', + 'src/main/python/apache/thermos/core', + ], +) + +# Binary target for thermos_runner.pex. Nothing should depend on this - it's only used as an +# argument to ./pants binary. +python_binary( + name = 'thermos_runner', + # Use entry_point, not source so the files used here are the same ones tests see. + entry_point = 'apache.thermos.bin.thermos_runner', + dependencies = [ + # Notice that we depend only on the single private target from this BUILD file here. + ':_runner', + ], +) + +# The public library that everyone importing the runner symbols uses. +# The test targets and any other dependent source code should depend on this. +python_library( + name = 'runner', + dependencies = [ + # Again, notice that we depend only on the single private target from this BUILD file here. + ':_runner', + ], + # We always provide a setup_py. This will cause any dependee libraries to automatically + # reference this library in their requirements.txt rather than copy the source files into their + # sdist. + provides = setup_py( + # Conventionally named and versioned. + name = 'apache.thermos.runner', + version = open(os.path.join(get_buildroot(), '.auroraversion')).read().strip().upper(), + ).with_binaries({ + # Every binary in this file should also be repeated here. + # Always use the dict-form of .with_binaries so that commands with dashes in their names are + # supported. + # The console script name is always the same as the PEX with .pex stripped. + 'thermos_runner': ':thermos_runner', + }), +) +``` Modified: aurora/site/source/documentation/latest/configuration-reference.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/configuration-reference.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/configuration-reference.md (original) +++ aurora/site/source/documentation/latest/configuration-reference.md Wed Aug 26 20:12:12 2015 @@ -30,6 +30,7 @@ Aurora + Thermos Configuration Reference - [HealthCheckConfig Objects](#healthcheckconfig-objects) - [Announcer Objects](#announcer-objects) - [Container Objects](#container) + - [LifecycleConfig Objects](#lifecycleconfig-objects) - [Specifying Scheduling Constraints](#specifying-scheduling-constraints) - [Template Namespaces](#template-namespaces) - [mesos Namespace](#mesos-namespace) @@ -277,6 +278,7 @@ Client applications with higher priority finalization wait (e.g. through parameters to `thermos kill`), so this is mostly a best-effort signal. + ### Constraint Object Current constraint objects only support a single ordering constraint, `order`, @@ -325,6 +327,7 @@ Job Schema ```production``` | Boolean | Whether or not this is a production task backed by quota (Default: False). Production jobs may preempt any non-production job, and may only be preempted by production jobs in the same role and of higher priority. To run jobs at this level, the job role must have the appropriate quota. To grant quota to a particular role in production, operators use the ``aurora_admin set_quota`` command. ```health_check_config``` | ```heath_check_config``` object | Parameters for controlling a task's health checks via HTTP. Only used if a health port was assigned with a command line wildcard. ```container``` | ```Container``` object | An optional container to run all processes inside of. + ```lifecycle``` | ```LifecycleConfig``` object | An optional task lifecycle configuration that dictates commands to be executed on startup/teardown. HTTP lifecycle is enabled by default if the "health" port is requested. See [LifecycleConfig Objects](#lifecycleconfig-objects) for more information. ### Services @@ -359,8 +362,11 @@ Parameters for controlling a task's heal | ------- | :-------: | -------- | ```initial_interval_secs``` | Integer | Initial delay for performing an HTTP health check. (Default: 15) | ```interval_secs``` | Integer | Interval on which to check the task's health via HTTP. (Default: 10) -| ```timeout_secs``` | Integer | HTTP request timeout. (Default: 1) | ```max_consecutive_failures``` | Integer | Maximum number of consecutive failures that tolerated before considering a task unhealthy (Default: 0) +| ```timeout_secs``` | Integer | HTTP request timeout. (Default: 1) +| ```endpoint``` | String | HTTP endpoint to check (Default: /health) +| ```expected_response``` | String | If not empty, fail the health check if the response differs. Case insensitive. (Default: ok) +| ```expected_response_code``` | Integer | If not zero, fail the health check if the response code differs. (Default: 0) ### Announcer Objects @@ -411,9 +417,51 @@ Describes the container the job's proces ### Docker Object - param | type | description - ----- | :----: | ----------- - ```image``` | String | The name of the docker image to execute. If the image does not exist locally it will be pulled with ```docker pull```. + param | type | description + ----- | :----: | ----------- + ```image``` | String | The name of the docker image to execute. If the image does not exist locally it will be pulled with ```docker pull```. + ```parameters``` | List(Parameter) | Additional parameters to pass to the docker containerizer. + +### Docker Parameter Object + +Docker CLI parameters. This needs to be enabled by the scheduler `enable_docker_parameters` option. +See [Docker Command Line Reference](https://docs.docker.com/reference/commandline/run/) for valid parameters. + + param | type | description + ----- | :----: | ----------- + ```name``` | String | The name of the docker parameter. E.g. volume + ```value``` | String | The value of the parameter. E.g. /usr/local/bin:/usr/bin:rw + +### LifecycleConfig Objects + +*Note: The only lifecycle configuration supported is the HTTP lifecycle via the HTTPLifecycleConfig.* + + param | type | description + ----- | :----: | ----------- + ```http``` | HTTPLifecycleConfig | Configure the lifecycle manager to send lifecycle commands to the task via HTTP. + +### HTTPLifecycleConfig Objects + + param | type | description + ----- | :----: | ----------- + ```port``` | String | The named port to send POST commands (Default: health) + ```graceful_shutdown_endpoint``` | String | Endpoint to hit to indicate that a task should gracefully shutdown. (Default: /quitquitquit) + ```shutdown_endpoint``` | String | Endpoint to hit to give a task its final warning before being killed. (Default: /abortabortabort) + +#### graceful_shutdown_endpoint + +If the Job is listening on the port as specified by the HTTPLifecycleConfig +(default: `health`), a HTTP POST request will be sent over localhost to this +endpoint to request that the task gracefully shut itself down. This is a +courtesy call before the `shutdown_endpoint` is invoked a fixed amount of +time later. + +#### shutdown_endpoint + +If the Job is listening on the port as specified by the HTTPLifecycleConfig +(default: `health`), a HTTP POST request will be sent over localhost to this +endpoint to request as a final warning before being shut down. If the task +does not shut down on its own after this, it will be forcefully killed Specifying Scheduling Constraints Modified: aurora/site/source/documentation/latest/cron-jobs.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/cron-jobs.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/cron-jobs.md (original) +++ aurora/site/source/documentation/latest/cron-jobs.md Wed Aug 26 20:12:12 2015 @@ -67,7 +67,7 @@ grow faster than they can process it. Unlike with services, which aurora will always re-execute regardless of exit status, instances of cron jobs retry according to the `max_task_failures` attribute of the -[Task](configuration-reference.md#task-objects) object. To get "run-until-failure" semantics, +[Task](configuration-reference.md#task-objects) object. To get "run-until-success" semantics, set `max_task_failures` to `-1`. ## Interacting with cron jobs via the Aurora CLI Modified: aurora/site/source/documentation/latest/deploying-aurora-scheduler.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/deploying-aurora-scheduler.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/deploying-aurora-scheduler.md (original) +++ aurora/site/source/documentation/latest/deploying-aurora-scheduler.md Wed Aug 26 20:12:12 2015 @@ -35,7 +35,7 @@ machines. This guide helps you get the ## Installing Aurora The Aurora scheduler is a standalone Java server. As part of the build process it creates a bundle of all its dependencies, with the notable exceptions of the JVM and libmesos. Each target server -should have a JVM (Java 7 or higher) and libmesos (0.22.0) installed. +should have a JVM (Java 7 or higher) and libmesos (0.23.0) installed. ### Creating the Distribution .zip File (Optional) To create a distribution for installation you will need build tools installed. On Ubuntu this can be @@ -278,7 +278,7 @@ is the same as the one on the scheduler: ### Tasks are stuck in `PENDING` forever #### Symptoms -The scheduler is registered, and (receiving offers](docs/monitoring.md#scheduler_resource_offers), +The scheduler is registered, and [receiving offers](monitoring.md#scheduler_resource_offers), but tasks are perpetually shown as `PENDING - Constraint not satisfied: host`. #### Solution Modified: aurora/site/source/documentation/latest/developing-aurora-client.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/developing-aurora-client.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/developing-aurora-client.md (original) +++ aurora/site/source/documentation/latest/developing-aurora-client.md Wed Aug 26 20:12:12 2015 @@ -30,7 +30,7 @@ To start a virtual cluster, you need to the aurora workspace. This will create a vagrant host named "devcluster", with a mesos master, a set of mesos slaves, and an aurora scheduler. -If you have changed you would like to test in your local cluster, you'll rebuild the client: +If you have a change you would like to test in your local cluster, you'll rebuild the client: vagrant ssh -c 'aurorabuild client' Modified: aurora/site/source/documentation/latest/developing-aurora-scheduler.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/developing-aurora-scheduler.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/developing-aurora-scheduler.md (original) +++ aurora/site/source/documentation/latest/developing-aurora-scheduler.md Wed Aug 26 20:12:12 2015 @@ -90,6 +90,25 @@ use the following commands to view and m bower update <library name> bower help +Faster Iteration in Vagrant +--------------------------- +The scheduler serves UI assets from the classpath. For production deployments this means the assets +are served from within a jar. However, for faster development iteration, the vagrant image is +configured to add `/vagrant/dist/resources/main` to the head of CLASSPATH. This path is configured +as a shared filesystem to the path on the host system where your Aurora repository lives. This means +that any updates to dist/resources/main in your checkout will be reflected immediately in the UI +served from within the vagrant image. + +The one caveat to this is that this path is under `dist` not `src`. This is because the assets must +be processed by gradle before they can be served. So, unfortunately, you cannot just save your local +changes and see them reflected in the UI, you must first run `./gradlew processResources`. This is +less than ideal, but better than having to restart the scheduler after every change. Additionally, +gradle makes this process somewhat easier with the use of the `--continuous` flag. If you run: +`./gradlew processResources --continuous` gradle will monitor the filesystem for changes and run the +task automatically as necessary. This doesn't quite provide hot-reload capabilities, but it does +allow for <5s from save to changes being visibile in the UI with no further action required on the +part of the developer. + Developing the Aurora Build System ================================== Added: aurora/site/source/documentation/latest/presentations.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/presentations.md?rev=1697999&view=auto ============================================================================== --- aurora/site/source/documentation/latest/presentations.md (added) +++ aurora/site/source/documentation/latest/presentations.md Wed Aug 26 20:12:12 2015 @@ -0,0 +1,50 @@ +# Apache Aurora Presentations +Video and slides from presentations and panel discussions about Apache Aurora. + +_(Listed in date descending order)_ + +<table> + <tr> + <td><img src="images/presentations/04_30_2015_monolith_to_microservices_thumb.png" alt="From Monolith to Microservices with Aurora Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=yXkOgnyK4Hw">>From Monolith to Microservices w/ Aurora (Video)</a></strong> + <p>Presented by Thanos Baskous, Tony Dong, Dobromir Montauk</p> + <p>April 30, 2015 at <a href="http://www.meetup.com/Bay-Area-Apache-Aurora-Users-Group/events/221219480/">Bay Area Apache Aurora Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_28_2015_apache_aurora_thumb.png" alt="Apache Auroraã®å§ããã Slideshow Thumbnail" /></td> + <td><strong><a href="http://www.slideshare.net/zembutsu/apache-aurora-introduction-and-tutorial-osc15tk">Apache Auroraã®å§ããã (Slides)</a></strong> + <p>Presented by Masahito Zembutsu</p> + <p>February 28, 2015 at <a href="http://www.ospn.jp/osc2015-spring/">Open Source Conference 2015 Tokyo Spring</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_adopters_panel_thumb.png" alt="Apache Aurora Adopters Panel Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=2Jsj0zFdRlg">Apache Aurora Adopters Panel (Video)</a></strong> + <p>Panelists Ben Staffin, Josh Adams, Bill Farner, Berk Demir</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_at_twitter_thumb.png" alt="Operating Apache Aurora and Mesos at Twitter Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=E4lxX6epM_U">Operating Apache Aurora and Mesos at Twitter (Video)</a></strong> + <p>Presented by Joe Smith</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/02_19_2015_aurora_at_tellapart_thumb.png" alt="Apache Aurora and Mesos at TellApart" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=ZZXtXLvTXAE">Apache Aurora and Mesos at TellApart (Video)</a></strong> + <p>Presented by Steve Niemitz</p> + <p>February 19, 2015 at <a href="http://www.meetup.com/Bay-Area-Mesos-User-Group/events/220279080/">Bay Area Mesos Users Group</a></p></td> + </tr> + <tr> + <td><img src="images/presentations/08_21_2014_past_present_future_thumb.png" alt="Past, Present, and Future of the Aurora Scheduler Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=Dsc5CPhKs4o">Past, Present, and Future of the Aurora Scheduler (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>August 21, 2014 at <a href="http://events.linuxfoundation.org/events/archive/2014/mesoscon">#MesosCon 2014</a></p> +</td> + </tr> + <tr> + <td><img src="images/presentations/03_25_2014_introduction_to_aurora_thumb.png" alt="Introduction to Apache Aurora Video Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=asd_h6VzaJc">Introduction to Apache Aurora (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>March 25, 2014 at <a href="https://www.eventbrite.com/e/aurora-and-mesosframeworksmeetup-tickets-10850994617">Aurora and Mesos Frameworks Meetup</a></p></td> + </tr> +</table> \ No newline at end of file Modified: aurora/site/source/documentation/latest/sla.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/sla.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/sla.md (original) +++ aurora/site/source/documentation/latest/sla.md Wed Aug 26 20:12:12 2015 @@ -15,8 +15,9 @@ The primary goal of the feature is colle Agreements) metrics that defining a contractual relationship between the Aurora/Mesos platform and hosted services. -The Aurora SLA feature currently supports stat collection only for service (non-cron) -production jobs (`"production = True"` in your `.aurora` config). +The Aurora SLA feature is by default only enabled for service (non-cron) +production jobs (`"production = True"` in your `.aurora` config). It can be enabled for +non-production services via the scheduler command line flag `-sla_non_prod_metrics`. Counters that track SLA measurements are computed periodically within the scheduler. The individual instance metrics are refreshed every minute (configurable via @@ -173,4 +174,4 @@ unreasonable resource constraints) do no * The availability of Aurora SLA metrics is bound by the scheduler availability. * All metrics are calculated at a pre-defined interval (currently set at 1 minute). - Scheduler restarts may result in missed collections. \ No newline at end of file + Scheduler restarts may result in missed collections. Modified: aurora/site/source/documentation/latest/storage-config.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/storage-config.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/storage-config.md (original) +++ aurora/site/source/documentation/latest/storage-config.md Wed Aug 26 20:12:12 2015 @@ -100,9 +100,9 @@ accomplished by updating the following s registering with Mesos. E.g.: `-mesos_master_address=zk://localhost:2181` * `-max_registration_delay` - set to sufficiently long interval to prevent registration timeout and as a result scheduler suicide. E.g: `-max_registration_delay=360min` - * Make sure `-gc_executor_path` option is not set to prevent accidental task GC. This is - important as scheduler will attempt to reconcile the cluster state and will kill all tasks when - restarted with an empty Mesos replicated log. + * Make sure `-reconciliation_initial_delay` option is set high enough (e.g.: `365days`) to + prevent accidental task GC. This is important as scheduler will attempt to reconcile the cluster + state and will kill all tasks when restarted with an empty Mesos replicated log. * Restart all schedulers Modified: aurora/site/source/documentation/latest/test-resource-generation.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/test-resource-generation.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/test-resource-generation.md (original) +++ aurora/site/source/documentation/latest/test-resource-generation.md Wed Aug 26 20:12:12 2015 @@ -4,9 +4,8 @@ The Aurora source repository and distributions contain several [binary files](../src/test/resources/org/apache/thermos/root/checkpoints) to qualify the backwards-compatibility of thermos with checkpoint data. Since -thermos persists state to disk, to be read by other components (the GC executor -and the thermos observer), it is important that we have tests that prevent -regressions affecting the ability to parse previously-written data. +thermos persists state to disk, to be read by the thermos observer), it is important that we have +tests that prevent regressions affecting the ability to parse previously-written data. ## Generating test files The files included represent persisted checkpoints that exercise different Modified: aurora/site/source/documentation/latest/vagrant.md URL: http://svn.apache.org/viewvc/aurora/site/source/documentation/latest/vagrant.md?rev=1697999&r1=1697998&r2=1697999&view=diff ============================================================================== --- aurora/site/source/documentation/latest/vagrant.md (original) +++ aurora/site/source/documentation/latest/vagrant.md Wed Aug 26 20:12:12 2015 @@ -43,7 +43,7 @@ Clone the Aurora repository To obtain the Aurora source distribution, clone its Git repository using the following command: - git clone http://git.apache.org/aurora.git + git clone git://git.apache.org/aurora.git Start the local cluster