Added: aurora/site/publish/documentation/0.19.1/reference/task-lifecycle/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.19.1/reference/task-lifecycle/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.19.1/reference/task-lifecycle/index.html (added) +++ aurora/site/publish/documentation/0.19.1/reference/task-lifecycle/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,300 @@ +<!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 + '/reference/task-lifecycle/'" + value="0.19.1"> + <option value="0.20.0" + > + 0.20.0 + (latest) + </option> + <option value="0.19.1" + selected="selected"> + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="task-lifecycle">Task Lifecycle</h1> + +<p>When Aurora reads a configuration file and finds a <code>Job</code> definition, it:</p> + +<ol> +<li> Evaluates the <code>Job</code> definition.</li> +<li> Splits the <code>Job</code> into its constituent <code>Task</code>s.</li> +<li> Sends those <code>Task</code>s to the scheduler.</li> +<li> The scheduler puts the <code>Task</code>s into <code>PENDING</code> state, starting each +<code>Task</code>’s life cycle.</li> +</ol> + +<p><img alt="Life of a task" src="../../images/lifeofatask.png" /></p> + +<p>Please note, a couple of task states described below are missing from +this state diagram.</p> + +<h2 id="pending-to-running-states">PENDING to RUNNING states</h2> + +<p>When a <code>Task</code> is in the <code>PENDING</code> state, the scheduler constantly +searches for machines satisfying that <code>Task</code>’s resource request +requirements (RAM, disk space, CPU time) while maintaining configuration +constraints such as “a <code>Task</code> must run on machines dedicated to a +particular role” or attribute limit constraints such as “at most 2 +<code>Task</code>s from the same <code>Job</code> may run on each rack”. When the scheduler +finds a suitable match, it assigns the <code>Task</code> to a machine and puts the +<code>Task</code> into the <code>ASSIGNED</code> state.</p> + +<p>From the <code>ASSIGNED</code> state, the scheduler sends an RPC to the agent +machine containing <code>Task</code> configuration, which the agent uses to spawn +an executor responsible for the <code>Task</code>’s lifecycle. When the scheduler +receives an acknowledgment that the machine has accepted the <code>Task</code>, +the <code>Task</code> goes into <code>STARTING</code> state.</p> + +<p><code>STARTING</code> state initializes a <code>Task</code> sandbox. When the sandbox is fully +initialized, Thermos begins to invoke <code>Process</code>es. Also, the agent +machine sends an update to the scheduler that the <code>Task</code> is +in <code>RUNNING</code> state, only after the task satisfies the liveness requirements. +See <a href="../features/services#health-checking">Health Checking</a> for more details +for how to configure health checks.</p> + +<h2 id="running-to-terminal-states">RUNNING to terminal states</h2> + +<p>There are various ways that an active <code>Task</code> can transition into a terminal +state. By definition, it can never leave this state. However, depending on +nature of the termination and the originating <code>Job</code> definition +(e.g. <code>service</code>, <code>max_task_failures</code>), a replacement <code>Task</code> might be +scheduled.</p> + +<h3 id="natural-termination-finished-failed">Natural Termination: FINISHED, FAILED</h3> + +<p>A <code>RUNNING</code> <code>Task</code> can terminate without direct user interaction. For +example, it may be a finite computation that finishes, even something as +simple as <code>echo hello world.</code>, or it could be an exceptional condition in +a long-lived service. If the <code>Task</code> is successful (its underlying +processes have succeeded with exit status <code>0</code> or finished without +reaching failure limits) it moves into <code>FINISHED</code> state. If it finished +after reaching a set of failure limits, it goes into <code>FAILED</code> state.</p> + +<p>A terminated <code>TASK</code> which is subject to rescheduling will be temporarily +<code>THROTTLED</code>, if it is considered to be flapping. A task is flapping, if its +previous invocation was terminated after less than 5 minutes (scheduler +default). The time penalty a task has to remain in the <code>THROTTLED</code> state, +before it is eligible for rescheduling, increases with each consecutive +failure.</p> + +<h3 id="forceful-termination-killing-restarting">Forceful Termination: KILLING, RESTARTING</h3> + +<p>You can terminate a <code>Task</code> by issuing an <code>aurora job kill</code> command, which +moves it into <code>KILLING</code> state. The scheduler then sends the agent a +request to terminate the <code>Task</code>. If the scheduler receives a successful +response, it moves the Task into <code>KILLED</code> state and never restarts it.</p> + +<p>If a <code>Task</code> is forced into the <code>RESTARTING</code> state via the <code>aurora job restart</code> +command, the scheduler kills the underlying task but in parallel schedules +an identical replacement for it.</p> + +<p>In any case, the responsible executor on the agent follows an escalation +sequence when killing a running task:</p> + +<ol> +<li>If a <code>HttpLifecycleConfig</code> is not present, skip to (4).</li> +<li>Send a POST to the <code>graceful_shutdown_endpoint</code> and wait +<code>graceful_shutdown_wait_secs</code> seconds.</li> +<li>Send a POST to the <code>shutdown_endpoint</code> and wait +<code>shutdown_wait_secs</code> seconds.</li> +<li>Send SIGTERM (<code>kill</code>) and wait at most <code>finalization_wait</code> seconds.</li> +<li>Send SIGKILL (<code>kill -9</code>).</li> +</ol> + +<p>If the executor notices that all <code>Process</code>es in a <code>Task</code> have aborted +during this sequence, it will not proceed with subsequent steps. +Note that graceful shutdown is best-effort, and due to the many +inevitable realities of distributed systems, it may not be performed.</p> + +<h3 id="unexpected-termination-lost">Unexpected Termination: LOST</h3> + +<p>If a <code>Task</code> stays in a transient task state for too long (such as <code>ASSIGNED</code> +or <code>STARTING</code>), the scheduler forces it into <code>LOST</code> state, creating a new +<code>Task</code> in its place that’s sent into <code>PENDING</code> state.</p> + +<p>In addition, if the Mesos core tells the scheduler that a agent has +become unhealthy (or outright disappeared), the <code>Task</code>s assigned to that +agent go into <code>LOST</code> state and new <code>Task</code>s are created in their place. +From <code>PENDING</code> state, there is no guarantee a <code>Task</code> will be reassigned +to the same machine unless job constraints explicitly force it there.</p> + +<h3 id="giving-priority-to-production-tasks-preempting">Giving Priority to Production Tasks: PREEMPTING</h3> + +<p>Sometimes a Task needs to be interrupted, such as when a non-production +Task’s resources are needed by a higher priority production Task. This +type of interruption is called a <em>pre-emption</em>. When this happens in +Aurora, the non-production Task is killed and moved into +the <code>PREEMPTING</code> state when both the following are true:</p> + +<ul> +<li>The task being killed is a non-production task.</li> +<li>The other task is a <code>PENDING</code> production task that hasn’t been +scheduled due to a lack of resources.</li> +</ul> + +<p>The scheduler UI shows the non-production task was preempted in favor of +the production task. At some point, tasks in <code>PREEMPTING</code> move to <code>KILLED</code>.</p> + +<p>Note that non-production tasks consuming many resources are likely to be +preempted in favor of production tasks.</p> + +<h3 id="making-room-for-maintenance-draining">Making Room for Maintenance: DRAINING</h3> + +<p>Cluster operators can set agent into maintenance mode. This will transition +all <code>Task</code> running on this agent into <code>DRAINING</code> and eventually to <code>KILLED</code>. +Drained <code>Task</code>s will be restarted on other agents for which no maintenance +has been announced yet.</p> + +<h2 id="state-reconciliation">State Reconciliation</h2> + +<p>Due to the many inevitable realities of distributed systems, there might +be a mismatch of perceived and actual cluster state (e.g. a machine returns +from a <code>netsplit</code> but the scheduler has already marked all its <code>Task</code>s as +<code>LOST</code> and rescheduled them).</p> + +<p>Aurora regularly runs a state reconciliation process in order to detect +and correct such issues (e.g. by killing the errant <code>RUNNING</code> tasks). +By default, the proper detection of all failure scenarios and inconsistencies +may take up to an hour.</p> + +<p>To emphasize this point: there is no uniqueness guarantee for a single +instance of a job in the presence of network partitions. If the <code>Task</code> +requires that, it should be baked in at the application level using a +distributed coordination service such as Zookeeper.</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.20.0/additional-resources/presentations/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/additional-resources/presentations/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/additional-resources/presentations/index.html (added) +++ aurora/site/publish/documentation/0.20.0/additional-resources/presentations/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,231 @@ +<!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 + '/additional-resources/presentations/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="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="/documentation/0.20.0/images/presentations/10_08_2015_mesos_aurora_on_a_small_scale_thumb.png" alt="Mesos and Aurora on a Small Scale Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=q5iIqhaCJ_o">Mesos & Aurora on a Small Scale (Video)</a></strong> + <p>Presented by Florian Pfeiffer</p> + <p>October 8, 2015 at <a href="http://events.linuxfoundation.org/events/archive/2015/mesoscon-europe">#MesosCon Europe 2015</a></p></td> + </tr> + <tr> + <td><img src="/documentation/0.20.0/images/presentations/10_08_2015_sla_aware_maintenance_for_operators_thumb.png" alt="SLA Aware Maintenance for Operators Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=tZ0-SISvCis">SLA Aware Maintenance for Operators (Video)</a></strong> + <p>Presented by Joe Smith</p> + <p>October 8, 2015 at <a href="http://events.linuxfoundation.org/events/archive/2015/mesoscon-europe">#MesosCon Europe 2015</a></p></td> + </tr> + <tr> + <td><img src="/documentation/0.20.0/images/presentations/09_20_2015_shipping_code_with_aurora_thumb.png" alt="Shipping Code with Aurora Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=y1hi7K1lPkk">Shipping Code with Aurora (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>August 20, 2015 at <a href="http://events.linuxfoundation.org/events/archive/2015/mesoscon">#MesosCon 2015</a></p></td> + </tr> + <tr> + <td><img src="/documentation/0.20.0/images/presentations/09_20_2015_twitter_production_scale_thumb.png" alt="Twitter Production Scale Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=nNrh-gdu9m4">Twitterâs Production Scale: Mesos and Aurora Operations (Video)</a></strong> + <p>Presented by Joe Smith</p> + <p>August 20, 2015 at <a href="http://events.linuxfoundation.org/events/archive/2015/mesoscon">#MesosCon 2015</a></p></td> + </tr> + <tr> + <td><img src="/documentation/0.20.0/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="/documentation/0.20.0/images/presentations/03_07_2015_aurora_mesos_in_practice_at_twitter_thumb.png" alt="Aurora + Mesos in Practice at Twitter Thumbnail" /></td> + <td><strong><a href="https://www.youtube.com/watch?v=1XYJGX_qZVU">Aurora + Mesos in Practice at Twitter (Video)</a></strong> + <p>Presented by Bill Farner</p> + <p>March 07, 2015 at <a href="http://www.bigeng.io/aurora-mesos-in-practice-at-twitter">Bigcommerce TechTalk</a></p></td> + </tr> + <tr> + <td><img src="/documentation/0.20.0/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="/documentation/0.20.0/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="/documentation/0.20.0/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="/documentation/0.20.0/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="/documentation/0.20.0/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="/documentation/0.20.0/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">© 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.20.0/additional-resources/tools/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/additional-resources/tools/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/additional-resources/tools/index.html (added) +++ aurora/site/publish/documentation/0.20.0/additional-resources/tools/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,187 @@ +<!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 + '/additional-resources/tools/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="tools">Tools</h1> + +<p>Various tools integrate with Aurora. Is there a tool missing? Let us know, or submit a patch to add it!</p> + +<ul> +<li><p>Load-balancing technology used to direct traffic to services running on Aurora:</p> + +<ul> +<li><a href="https://github.com/airbnb/synapse">synapse</a> based on HAProxy</li> +<li><a href="https://github.com/tellapart/aurproxy">aurproxy</a> based on nginx</li> +<li><a href="https://github.com/benley/aurora-jobhopper">jobhopper</a> performs HTTP redirects for easy developer and administrator access</li> +</ul></li> +<li><p>RPC libraries that integrate with the Aurora’s <a href="../../features/service-discovery/">service discovery mechanism</a>:</p> + +<ul> +<li><a href="https://linkerd.io/">linkerd</a> RPC proxy</li> +<li><a href="https://twitter.github.io/finagle">finagle</a> (Scala)</li> +<li><a href="https://github.com/steveniemitz/scales">scales</a> (Python)</li> +</ul></li> +<li><p>Monitoring:</p> + +<ul> +<li><a href="https://github.com/zircote/collectd-aurora">collectd-aurora</a> for cluster monitoring using collectd</li> +<li><a href="https://github.com/tommyulfsparre/aurora_exporter">Prometheus Aurora exporter</a> for cluster monitoring using Prometheus</li> +<li><a href="http://prometheus.io/docs/operating/configuration/#zookeeper-serverset-sd-configurations-serverset_sd_config">Prometheus service discovery integration</a> for discovering and monitoring services running on Aurora</li> +</ul></li> +<li><p>Packaging and deployment:</p> + +<ul> +<li><a href="https://github.com/apache/aurora-packaging">aurora-packaging</a>, the source of the official Aurora packages</li> +</ul></li> +<li><p>Thrift Clients:</p> + +<ul> +<li><a href="https://github.com/rdelval/gorealis">gorealis</a> for communicating with the scheduler using Go</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> Added: aurora/site/publish/documentation/0.20.0/contributing/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/contributing/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/contributing/index.html (added) +++ aurora/site/publish/documentation/0.20.0/contributing/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,247 @@ +<!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 + '/contributing/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="get-the-source-code">Get the Source Code</h2> + +<p>First things first, you’ll need the source! The Aurora source is available from Apache git:</p> +<pre class="highlight plaintext"><code>git clone https://git-wip-us.apache.org/repos/asf/aurora +</code></pre> + +<h2 id="read-the-style-guides">Read the Style Guides</h2> + +<p>Aurora’s codebase is primarily Java and Python and conforms to the Twitter Commons styleguides for +both languages.</p> + +<ul> +<li><a href="https://github.com/twitter/commons/blob/master/src/java/com/twitter/common/styleguide.md">Java Style Guide</a></li> +<li><a href="https://github.com/twitter/commons/blob/master/src/python/twitter/common/styleguide.md">Python Style Guide</a></li> +</ul> + +<h2 id="find-something-to-do">Find Something to Do</h2> + +<p>There are issues in <a href="https://issues.apache.org/jira/browse/AURORA">Jira</a> with the +<a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20AURORA%20AND%20labels%20%3D%20newbie%20and%20resolution%3Dunresolved">“newbie” label</a> +that are good starting places for new Aurora contributors; pick one of these and dive in! To assign +a task to yourself, first ask for your JIRA id to be whitelisted by either asking in IRC/Slack or by +emailing <a href="mailto:[email protected]">[email protected]</a>. Once your JIRA account has been whitelisted you can assign tickets +to yourself. The next step is to prepare your patch and finally post it for review.</p> + +<h2 id="getting-your-reviewboard-account">Getting your ReviewBoard Account</h2> + +<p>Go to <a href="https://reviews.apache.org">https://reviews.apache.org</a> and create an account.</p> + +<h2 id="setting-up-your-reviewboard-environment">Setting up your ReviewBoard Environment</h2> + +<p>Run <code>./rbt status</code>. The first time this runs it will bootstrap and you will be asked to login. +Subsequent runs will cache your login credentials.</p> + +<h2 id="submitting-a-patch-for-review">Submitting a Patch for Review</h2> + +<p>Post a review with <code>rbt</code>, fill out the fields in your browser and hit Publish.</p> +<pre class="highlight plaintext"><code>./rbt post -o +</code></pre> + +<p>If you’re unsure about who to add as a reviewer, you can default to adding Zameer Manji (zmanji) and +Joshua Cohen (jcohen). They will take care of finding an appropriate reviewer for the patch.</p> + +<p>Once you’ve done this, you probably want to mark the associated Jira issue as Reviewable.</p> + +<h2 id="updating-an-existing-review">Updating an Existing Review</h2> + +<p>Incorporate review feedback, make some more commits, update your existing review, fill out the +fields in your browser and hit Publish.</p> +<pre class="highlight plaintext"><code>./rbt post -o -r <RB_ID> +</code></pre> + +<h2 id="getting-your-review-merged">Getting Your Review Merged</h2> + +<p>If you’re not an Aurora committer, one of the committers will merge your change in as described +below. Generally, the last reviewer to give the review a ‘Ship It!’ will be responsible.</p> + +<h3 id="merging-your-own-review-committers">Merging Your Own Review (Committers)</h3> + +<p>Once you have shipits from the right committers, merge your changes in a single commit and mark +the review as submitted. The typical workflow is:</p> +<pre class="highlight plaintext"><code>git checkout master +git pull origin master +./rbt patch -c <RB_ID> # Verify the automatically-generated commit message looks sane, + # editing if necessary. +git show master # Verify everything looks sane +git push origin master +./rbt close <RB_ID> +</code></pre> + +<p>Note that even if you’re developing using feature branches you will not use <code>git merge</code> - each +commit will be an atomic change accompanied by a ReviewBoard entry.</p> + +<h3 id="merging-someone-else-39-s-review">Merging Someone Else’s Review</h3> + +<p>Sometimes you’ll need to merge someone else’s RB. The typical workflow for this is</p> +<pre class="highlight plaintext"><code>git checkout master +git pull origin master +./rbt patch -c <RB_ID> +git show master # Verify everything looks sane, author is correct +git push origin master +</code></pre> + +<p>Note for committers: while we generally use the commit message generated by <code>./rbt patch</code> some +changes are often required:</p> + +<ol> +<li>Ensure the the commit message does not exceed 100 characters per line.</li> +<li>Remove the “Testing Done” section. It’s generally redundant (can be seen by checking the linked +review) or entirely irrelevant to the commit itself.</li> +</ol> + +<h2 id="cleaning-up">Cleaning Up</h2> + +<p>Your patch has landed, congratulations! The last thing you’ll want to do before moving on to your +next fix is to clean up your Jira and Reviewboard. The former of which should be marked as +“Resolved” while the latter should be marked as “Submitted”.</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.20.0/development/client/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/development/client/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/development/client/index.html (added) +++ aurora/site/publish/documentation/0.20.0/development/client/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,296 @@ +<!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 + '/development/client/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="developing-the-aurora-client">Developing the Aurora Client</h1> + +<p>The client is written in Python, and uses the +<a href="http://pantsbuild.github.io/python-readme.html">Pants</a> build tool.</p> + +<h2 id="building-and-testing">Building and Testing</h2> + +<p>Building and testing the client code are both done using Pants. The relevant targets to know about +are:</p> + +<ul> +<li>Build a client executable: <code>./pants binary src/main/python/apache/aurora/client:aurora</code></li> +<li>Test client code: <code>./pants test src/test/python/apache/aurora/client/cli:cli</code></li> +</ul> + +<p>If you want to build a source distribution of the client, you need to run <code>./build-support/release/make-python-sdists</code>.</p> + +<h2 id="creating-custom-builds">Creating Custom Builds</h2> + +<p>There are situations where you may want to plug in custom logic to the Client that may not be +applicable to the open source codebase. Rather than create a whole CLI from scratch, you can +easily create your own custom, drop-in replacement aurora.pex using the pants build tool.</p> + +<p>First, create an AuroraCommandLine implementation as an entry-point for registering customizations:</p> +<pre class="highlight objective_c"><code><span style="background-color: #f8f8f8">from</span> <span style="background-color: #f8f8f8">apache</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">aurora</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">client</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">cli</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">client</span> <span style="background-color: #f8f8f8">import</span> <span style="background-color: #f8f8f8">AuroraCommandLine</span> + +<span style="background-color: #f8f8f8">class</span> <span style="background-color: #f8f8f8">CustomAuroraCommandLine</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">AuroraCommandLine</span><span style="background-color: #f8f8f8">)</span><span style="color: #000000;font-weight: bold">:</span> +<span style="color: #d14">"""Custom AuroraCommandLine for your needs"""</span> + +<span style="color: #000000;font-weight: bold">@property</span> +<span style="background-color: #f8f8f8">def</span> <span style="background-color: #f8f8f8">name</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">)</span><span style="color: #000000;font-weight: bold">:</span> + <span style="color: #000000;font-weight: bold">return</span> <span style="color: #d14">"your-company-aurora"</span> + +<span style="color: #a61717;background-color: #e3d2d2">@classmethod</span> +<span style="background-color: #f8f8f8">def</span> <span style="background-color: #f8f8f8">get_description</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">cls</span><span style="background-color: #f8f8f8">)</span><span style="color: #000000;font-weight: bold">:</span> + <span style="color: #000000;font-weight: bold">return</span> <span style="color: #a61717;background-color: #e3d2d2">'</span><span style="background-color: #f8f8f8">Your</span> <span style="background-color: #f8f8f8">Company</span> <span style="background-color: #f8f8f8">internal</span> <span style="background-color: #f8f8f8">Aurora</span> <span style="background-color: #f8f8f8">client</span> <span style="background-color: #f8f8f8">command</span> <span style="background-color: #f8f8f8">line</span><span style="color: #a61717;background-color: #e3d2d2">'</span> + +<span style="background-color: #f8f8f8">def</span> <span style="background-color: #f8f8f8">__init__</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">)</span><span style="color: #000000;font-weight: bold">:</span> + <span style="background-color: #f8f8f8">super</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">CustomAuroraCommandLine</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">).</span><span style="background-color: #f8f8f8">__init__</span><span style="background-color: #f8f8f8">()</span> + <span style="color: #999999;font-weight: bold"># Add custom plugins.. +</span> <span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">register_plugin</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">YourCustomPlugin</span><span style="background-color: #f8f8f8">())</span> + +<span style="background-color: #f8f8f8">def</span> <span style="background-color: #f8f8f8">register_nouns</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">)</span><span style="color: #000000;font-weight: bold">:</span> + <span style="background-color: #f8f8f8">super</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">CustomAuroraCommandLine</span><span style="background-color: #f8f8f8">,</span> <span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">).</span><span style="background-color: #f8f8f8">register_nouns</span><span style="background-color: #f8f8f8">()</span> + <span style="color: #999999;font-weight: bold"># You can even add new commands / sub-commands! +</span> <span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">register_noun</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">YourStartUpdateProxy</span><span style="background-color: #f8f8f8">())</span> + <span style="background-color: #f8f8f8">self</span><span style="background-color: #f8f8f8">.</span><span style="background-color: #f8f8f8">register_noun</span><span style="background-color: #f8f8f8">(</span><span style="background-color: #f8f8f8">YourDeployWorkflowCommand</span><span style="background-color: #f8f8f8">())</span> +</code></pre> + +<p>Secondly, create a main entry point:</p> +<pre class="highlight plaintext"><code>def proxy_main(): + client = CustomAuroraCommandLine() + if len(sys.argv) == 1: + sys.argv.append("-h") + sys.exit(client.execute(sys.argv[1:])) +</code></pre> + +<p>Finally, you can wire everything up with a pants BUILD file in your project directory:</p> +<pre class="highlight plaintext"><code>python_binary( + name='aurora', + entry_point='your_company.aurora.client:proxy_main', + dependencies=[ + ':client_lib' + ] +) + +python_library( + name='client_lib', + sources = [ + 'client.py', + 'custom_plugin.py', + 'custom_command.py', + ], + dependencies = [ + # The Apache Aurora client + # Any other dependencies for your custom code + ], +) +</code></pre> + +<p>Using the same commands to build the client as above (but obviously pointing to this BUILD file +instead), you will have a drop-in replacement aurora.pex file with your customizations.</p> + +<h2 id="running-debugging">Running/Debugging</h2> + +<p>For manually testing client changes against a cluster, we use <a href="https://www.vagrantup.com/">Vagrant</a>. +To start a virtual cluster, you need to install Vagrant, and then run <code>vagrant up</code> for the root of +the aurora workspace. This will create a vagrant host named “devcluster”, with a Mesos master, a set +of Mesos agents, and an Aurora scheduler.</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 plaintext"><code>vagrant ssh -c 'aurorabuild client' +</code></pre> + +<p>Once this completes, the <code>aurora</code> command will reflect your changes.</p> + +<h2 id="running-debugging-in-pycharm">Running/Debugging in PyCharm</h2> + +<p>It’s possible to use PyCharm to run and debug both the client and client tests in an IDE. In order +to do this, first run:</p> +<pre class="highlight plaintext"><code>build-support/python/make-pycharm-virtualenv +</code></pre> + +<p>This script will configure a virtualenv with all of our Python requirements. Once the script +completes it will emit instructions for configuring PyCharm:</p> +<pre class="highlight plaintext"><code>Your PyCharm environment is now set up. You can open the project root +directory with PyCharm. + +Once the project is loaded: + - open project settings + - click 'Project Interpreter' + - click the cog in the upper-right corner + - click 'Add Local' + - select 'build-support/python/pycharm.venv/bin/python' + - click 'OK' +</code></pre> + +<h3 id="running-debugging-tests">Running/Debugging Tests</h3> + +<p>After following these instructions, you should now be able to run/debug tests directly from the IDE +by right-clicking on a test (or test class) and choosing to run or debug:</p> + +<p><a href="/documentation/latest/images/debug-client-test.png"><img alt="Debug Client Test" src="../../images/debug-client-test.png" /></a></p> + +<p>If you’ve set a breakpoint, you can see the run will now stop and let you debug:</p> + +<p><a href="/documentation/latest/images/debugging-client-test.png"><img alt="Debugging Client Test" src="../../images/debugging-client-test.png" /></a></p> + +<h3 id="running-debugging-the-client">Running/Debugging the Client</h3> + +<p>Actually running and debugging the client is unfortunately a bit more complex. You’ll need to create +a Run configuration:</p> + +<ul> +<li>Go to Run â Edit Configurations</li> +<li>Click the + icon to add a new configuration.</li> +<li>Choose python and name the configuration ‘client’.</li> +<li>Set the script path to <code>/your/path/to/aurora/src/main/python/apache/aurora/client/cli/client.py</code></li> +<li>Set the script parameters to the command you want to run (e.g. <code>job status <job key></code>)</li> +<li>Expand the Environment section and click the ellipsis to add a new environment variable</li> +<li>Click the + at the bottom to add a new variable named AURORA<em>CONFIG</em>ROOT whose value is the +path where the your cluster configuration can be found. For example, to talk to the scheduler +running in the vagrant image, it would be set to <code>/your/path/to/aurora/examples/vagrant</code> (this +is the directory where our example clusters.json is found).</li> +<li>You should now be able to run and debug this configuration!</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.20.0/development/committers-guide/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/development/committers-guide/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/development/committers-guide/index.html (added) +++ aurora/site/publish/documentation/0.20.0/development/committers-guide/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,251 @@ +<!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 + '/development/committers-guide/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="committer-39-s-guide">Committer’s Guide</h1> + +<p>Information for official Apache Aurora committers.</p> + +<h2 id="setting-up-your-email-account">Setting up your email account</h2> + +<p>Once your Apache ID has been set up you can configure your account and add ssh keys and setup an +email forwarding address at</p> +<pre class="highlight plaintext"><code>http://id.apache.org +</code></pre> + +<p>Additional instructions for setting up your new committer email can be found at</p> +<pre class="highlight plaintext"><code>http://www.apache.org/dev/user-email.html +</code></pre> + +<p>The recommended setup is to configure all services (mailing lists, JIRA, ReviewBoard) to send +emails to your @apache.org email address.</p> + +<h2 id="creating-a-gpg-key-for-releases">Creating a gpg key for releases</h2> + +<p>In order to create a release candidate you will need a gpg key published to an external key server +and that key will need to be added to our KEYS file as well.</p> + +<ol> +<li><p>Create a key:</p> +<pre class="highlight plaintext"><code> gpg --gen-key +</code></pre></li> +<li><p>Add your gpg key to the Apache Aurora KEYS file:</p> +<pre class="highlight plaintext"><code> git clone https://git-wip-us.apache.org/repos/asf/aurora.git + (gpg --list-sigs <KEY ID> && gpg --armor --export <KEY ID>) >> KEYS + git add KEYS && git commit -m "Adding gpg key for <APACHE ID>" + ./rbt post -o -g +</code></pre></li> +<li><p>Publish the key to an external key server:</p> +<pre class="highlight plaintext"><code> gpg --keyserver pgp.mit.edu --send-keys <KEY ID> +</code></pre></li> +<li><p>Update the changes to the KEYS file to the Apache Aurora svn dist locations listed below:</p> +<pre class="highlight plaintext"><code> https://dist.apache.org/repos/dist/dev/aurora/KEYS + https://dist.apache.org/repos/dist/release/aurora/KEYS +</code></pre></li> +<li><p>Add your key to git config for use with the release scripts:</p> +<pre class="highlight plaintext"><code> git config --global user.signingkey <KEY ID> +</code></pre></li> +</ol> + +<h2 id="creating-a-release">Creating a release</h2> + +<p>The following will guide you through the steps to create a release candidate, vote, and finally an +official Apache Aurora release. Before starting your gpg key should be in the KEYS file and you +must have access to commit to the dist.a.o repositories.</p> + +<ol> +<li>Ensure that all issues resolved for this release candidate are tagged with the correct Fix +Version in JIRA, the changelog script will use this to generate the CHANGELOG in step #2. +To assign the fix version:</li> +</ol> +<pre class="highlight plaintext"><code>* Look up the [previous release date](https://issues.apache.org/jira/browse/aurora/?selectedTab=com.atlassian.jira.jira-projects-plugin:versions-panel). +* Query all issues resolved after that release date: `project = AURORA AND status in (resolved, Closed) and fixVersion is empty and resolutiondate >= "YYYY/MM/DD"` +* In the upper right corner of the query result, select Tools > Bulk Edit. +* Select all issues > edit issue > set 'Change Fix Version/s' to the release version. +* Make sure to uncheck 'Send mail for this update' at the bottom. +</code></pre> + +<ol> +<li><p>Prepare RELEASE-NOTES.md for the release. This just boils down to removing the “(Not yet +released)” suffix from the impending release.</p></li> +<li><p>Create a release candidate. This will automatically update the CHANGELOG and commit it, create a +branch and update the current version within the trunk. To create a minor version update and publish +it run</p> +<pre class="highlight plaintext"><code> ./build-support/release/release-candidate -l m -p +</code></pre></li> +<li><p>Update, if necessary, the draft email created from the <code>release-candidate</code> script in step #2 and +send the [VOTE] email to the dev@ mailing list. You can verify the release signature and checksums +by running</p> +<pre class="highlight plaintext"><code> ./build-support/release/verify-release-candidate +</code></pre></li> +<li><p>Wait for the vote to complete. If the vote fails close the vote by replying to the initial [VOTE] +email sent in step #3 by editing the subject to [RESULT][VOTE] … and noting the failure reason +(example <a href="http://markmail.org/message/d4d6xtvj7vgwi76f">here</a>). You’ll also need to manually revert +the commits generated by the release candidate script that incremented the snapshot version and +updated the changelog. Once that is done, now address any issues and go back to step #1 and run +again, this time you will use the -r flag to increment the release candidate version. This will +automatically clean up the release candidate rc0 branch and source distribution.</p> +<pre class="highlight plaintext"><code> ./build-support/release/release-candidate -l m -r 1 -p +</code></pre></li> +<li><p>Once the vote has successfully passed create the release</p></li> +</ol> + +<p><strong>IMPORTANT: make sure to use the correct release at this final step (e.g.: <code>-r 1</code> if rc1 candidate +has been voted for). Once the release tag is pushed it will be very hard to undo due to remote +git pre-receive hook explicitly forbidding release tag manipulations.</strong></p> +<pre class="highlight plaintext"><code> ./build-support/release/release +</code></pre> + +<ol> +<li><p>Update the draft email created fom the <code>release</code> script in step #5 to include the Apache ID’s for +all binding votes and send the [RESULT][VOTE] email to the dev@ mailing list.</p></li> +<li><p>Update the <a href="http://aurora.apache.org/">Aurora Website</a> by following the +<a href="https://svn.apache.org/repos/asf/aurora/site/README.md">instructions</a> on the ASF Aurora SVN repo. +Remember to add a blog post under source/blog and regenerate the site before committing.</p></li> +</ol> + +</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.20.0/development/db-migration/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/development/db-migration/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/development/db-migration/index.html (added) +++ aurora/site/publish/documentation/0.20.0/development/db-migration/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,183 @@ +<!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 + '/development/db-migration/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="db-migrations">DB Migrations</h1> + +<p>Changes to the DB schema should be made in the form of migrations. This ensures that all changes +are applied correctly after a DB dump from a previous version is restored.</p> + +<p>DB migrations are managed through a system built on top of +<a href="http://www.mybatis.org/migrations/">MyBatis Migrations</a>. The migrations are run automatically when +a snapshot is restored, no manual interaction is required by cluster operators.</p> + +<h2 id="upgrades">Upgrades</h2> + +<p>When adding or altering tables or changing data, in addition to making to change in +<a href="../../src/main/resources/org/apache/aurora/scheduler/storage/db/schema.sql">schema.sql</a>, a new +migration class should be created under the org.apache.aurora.scheduler.storage.db.migration +package. The class should implement the <a href="https://github.com/mybatis/migrations/blob/master/src/main/java/org/apache/ibatis/migration/MigrationScript.java">MigrationScript</a> +interface (see <a href="https://github.com/apache/aurora/blob/rel/0.20.0/src/test/java/org/apache/aurora/scheduler/storage/db/testmigration/V001_TestMigration.java">V001_TestMigration</a> +as an example). The upgrade and downgrade scripts are defined in this class. When restoring a +snapshot the list of migrations on the classpath is compared to the list of applied changes in the +DB. Any changes that have not yet been applied are executed and their downgrade script is stored +alongside the changelog entry in the database to faciliate downgrades in the event of a rollback.</p> + +<h2 id="downgrades">Downgrades</h2> + +<p>If, while running migrations, a rollback is detected, i.e. a change exists in the DB changelog that +does not exist on the classpath, the downgrade script associated with each affected change is +applied.</p> + +<h2 id="baselines">Baselines</h2> + +<p>After enough time has passed (at least 1 official release), it should be safe to baseline migrations +if desired. This can be accomplished by ensuring the changes from migrations have been applied to +<a href="../../src/main/resources/org/apache/aurora/scheduler/storage/db/schema.sql">schema.sql</a> and then +removing the corresponding migration classes and adding a migration to remove the changelog entries.</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.20.0/development/design-documents/index.html URL: http://svn.apache.org/viewvc/aurora/site/publish/documentation/0.20.0/development/design-documents/index.html?rev=1828294&view=auto ============================================================================== --- aurora/site/publish/documentation/0.20.0/development/design-documents/index.html (added) +++ aurora/site/publish/documentation/0.20.0/development/design-documents/index.html Tue Apr 3 23:54:44 2018 @@ -0,0 +1,174 @@ +<!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 + '/development/design-documents/'" + value="0.20.0"> + <option value="0.20.0" + selected="selected"> + 0.20.0 + (latest) + </option> + <option value="0.19.1" + > + 0.19.1 + </option> + <option value="0.19.0" + > + 0.19.0 + </option> + <option value="0.18.1" + > + 0.18.1 + </option> + <option value="0.18.0" + > + 0.18.0 + </option> + <option value="0.17.0" + > + 0.17.0 + </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="design-documents">Design Documents</h1> + +<p>Since its inception as an Apache project, larger feature additions to the +Aurora code base are discussed in form of design documents. Design documents +are living documents until a consensus has been reached to implement a feature +in the proposed form.</p> + +<p>Current and past documents:</p> + +<ul> +<li><a href="../design/command-hooks/">Command Hooks for the Aurora Client</a></li> +<li><a href="https://docs.google.com/document/d/19gV8Po6DIHO14tOC7Qouk8RnboY8UCfRTninwn_5-7c/edit">Dynamic Reservations</a></li> +<li><a href="https://docs.google.com/document/d/1J9SIswRMpVKQpnlvJAMAJtKfPP7ZARFknuyXl-2aZ-M/edit">GPU Resources in Aurora</a></li> +<li><a href="https://docs.google.com/document/d/1KOO0LC046k75TqQqJ4c0FQcVGbxvrn71E10wAjMorVY/edit">Health Checks for Updates</a></li> +<li><a href="https://docs.google.com/document/d/1Fc_YhhV7fc4D9Xv6gJzpfooxbK4YWZcvzw6Bd3qVTL8/edit">JobUpdateDiff thrift API</a></li> +<li><a href="https://docs.google.com/document/d/11_lAsYIRlD5ETRzF2eSd3oa8LXAHYFD8rSetspYXaf4/edit">REST API RFC</a></li> +<li><a href="https://docs.google.com/document/d/1r1WCHgmPJp5wbrqSZLsgtxPNj3sULfHrSFmxp2GyPTo/edit">Revocable Mesos offers in Aurora</a></li> +<li><a href="https://docs.google.com/document/d/111T09NBF2zjjl7HE95xglsDpRdKoZqhCRM5hHmOfTLA/edit?usp=sharing">Supporting the Mesos Universal Containerizer</a></li> +<li><a href="https://docs.google.com/document/d/1erszT-HsWf1zCIfhbqHlsotHxWUvDyI2xUwNQQQxLgs/edit?usp=sharing">Tier Management In Apache Aurora</a></li> +<li><a href="https://docs.google.com/document/d/12hr6GnUZU3mc7xsWRzMi3nQILGB-3vyUxvbG-6YmvdE/edit">Ubiquitous Jobs</a></li> +<li><a href="https://docs.google.com/document/d/1fVHLt9AF-YbOCVCDMQmi5DATVusn-tqY8DldKbjVEm0/edit">Pluggable Scheduling</a></li> +</ul> + +<p>Design documents can be found in the Aurora issue tracker via the query <a href="https://issues.apache.org/jira/browse/AURORA-1528?jql=project%20%3D%20AURORA%20AND%20text%20~%20%22docs.google.com%22%20ORDER%20BY%20created"><code>project = AURORA AND text ~ "docs.google.com" ORDER BY created</code></a>.</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>
