Client quota checks. Part 2: server side changes.

Reviewed at https://reviews.apache.org/r/16629/
Converting py source dist versions to upper() for consistency with java side.

Reviewed at https://reviews.apache.org/r/16741/
Fix bad merge commit

I noticed that there was some code in src/test/python/twitter that
shouldn't've been there.  This also uncovered a malformed BUILD and some
broken tests.

The test_status_wildcard still fails if you have /etc/aurora or ~/.aurora
populated with a clusters.json, but this probably won't be true on jenkins.

Reviewed at https://reviews.apache.org/r/16919/
Script for creating tags. The workflow is as follows:

Example for tagging 0.2.0-SNAPSHOT
0. Sanity checks.
1. Create a release-0.2.x branch off master.
2. Create a single commit on that branch moving .auroraversion from 0.2.0-SNAPSHOT to 0.2.0.
3. Create a tag 0.2.0 for that commit.
4. Create a commit on master moving .auroraversion from 0.2.0-SNAPSHOT to 0.3.0-SNAPSHOT.
5. More sanity checks, then everything can be pushed, downstream artifacts can be built/published.

Testing Done:
% ./build-support/tag-release
== Updating to latest master.
Current branch master is up to date.
== Incrementing snapshot version on master.
[master b8794ae] Incrementing snapshot version from 0.2.0-SNAPSHOT to 0.3.0-SNAPSHOT.
 1 file changed, 1 insertion(+), 1 deletion(-)
== Creating release-0.2.x branch.
Switched to a new branch 'release-0.2.x'
== Committing updated .auroraversion.
[release-0.2.x b3bab21] aurora-0.2.0 release.
 1 file changed, 1 insertion(+), 1 deletion(-)
== Creating tag 0.2.0.
== Tag created.

After you've verified that everything looks good, publish the new tag by running:
  git push origin master
  git push release-0.2.x master
  git push 0.2.0 master

Reviewed at https://reviews.apache.org/r/16265/
Fixing admin scheduler_print_recovery_tasks.

Reviewed at https://reviews.apache.org/r/16931/
Fix broken test in client.cli.job

Fixes broken test runs introduced in commit a49d94c 'Fix bad merge commit'

Bugs closed: AURORA-41

Reviewed at https://reviews.apache.org/r/16945/
Sign tags using the GPG key associated with the configured git email address; fix
rollback instructions and move tag-release script to new "release" subdir

Reviewed at https://reviews.apache.org/r/16941/
Scheduler home page new using AngularJS and UI client

Implemented new Scheduler home page using AngularJS. The UI queries the backend
using the thrift end point. This diff sets the basic foundation for the page.
Sending this out to get some early feedback and to keep the future diffs small.

The URLs in the new UI will redirect to the scheduler role pages.

Dropped the option to select number of results to be shown to simplify the
interface. Now defaulting to 25 results per page.

Cleaned up the UI to make it more light weight.

Updated build.gradle to generate thrift JS client.

Installed Angular and smart-table from bower. Added thrift.js file to make the
calls to the backend. Will migrate to angular-thrift for more robust
implementation in coming diffs.

Testing Done:
gradle clean build

Tested the UI using the isolated scheduler.

Bugs closed: AURORA-33

Reviewed at https://reviews.apache.org/r/16528/
Initial import of Aurora documentation.

Bugs closed: AURORA-47

Reviewed at https://reviews.apache.org/r/16615/
Script to create Python sdists.

Testing Done:
./build-support/release/make-python-sdists

Bugs closed: AURORA-44

Reviewed at https://reviews.apache.org/r/16985/
Deprecate CronCollisionPolicy.RUN_OVERLAP.

To prevent cluster starvation, the scheduler now ignores new cron jobs
with RUN_OVERLAP and behaves like CANCEL_NEW for existing ones. The
choice of CANCEL_NEW was arbitrary but IMO fits with the mental
preemption model of Aurora better (you're never guaranteed that a new
instance will schedule but Aurora doesn't tend to kill existing
instances outside of an established preemption routine).

Testing Done:
./gradlew build

Bugs closed: AURORA-38

Reviewed at https://reviews.apache.org/r/16874/
Fix deadlock caused when Preemptor tries to secure SchedulerCoreImpl intrinsic lock.

Bugs closed: AURORA-50

Reviewed at https://reviews.apache.org/r/17028/
Add a test to encourage taking care with thrift changes.

We have more to do w.r.t. automating detection and proper handling of schema
changes (specifically in the scheduler).  However, i see this as low-hanging
fruit to at least serve as a reminder.

Reviewed at https://reviews.apache.org/r/16986/
Revert "Add a test to encourage taking care with thrift changes."

This reverts commit 621eb53f40713b484730763860cdfbba0362e120.
Add keys file for signed release.

Bugs closed: AURORA-49

Reviewed at https://reviews.apache.org/r/17025/
Adds the NOTICE file and updates the LICENSE.

Bugs closed: AURORA-3

Reviewed at https://reviews.apache.org/r/17030/
Abort the scheduler if an unchecked exception is handled while transitioning
the lifecycle state.

Bugs closed: AURORA-51

Reviewed at https://reviews.apache.org/r/17053/
Get rid of ambiguities about exactly what object is being used to send calls to the scheduler. (See AURORA-42).

Also do some cleanups of sloppy stuff in tests.

Testing Done:
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 3 items

src/test/python/apache/aurora/admin/test_mesos_maintenance.py ...

=========================== 3 passed in 0.18 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 2 items

src/test/python/apache/aurora/client/test_binding_helper.py ..

=========================== 2 passed in 0.19 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 6 items

src/test/python/apache/aurora/client/test_config.py ......

=========================== 6 passed in 0.26 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 6 items

src/test/python/apache/aurora/client/api/test_disambiguator.py ......

=========================== 6 passed in 0.18 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/client/api/test_job_monitor.py .

=========================== 1 passed in 0.15 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 6 items

src/test/python/apache/aurora/client/api/test_restarter.py ......

=========================== 6 passed in 0.16 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 47 items / 1 skipped

src/test/python/apache/aurora/client/api/test_scheduler_client.py ...............................................

===================== 47 passed, 1 skipped in 0.53 seconds =====================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 20 items

src/test/python/apache/aurora/client/api/test_instance_watcher.py ........
src/test/python/apache/aurora/client/api/test_health_check.py ............

========================== 20 passed in 0.16 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 26 items

src/test/python/apache/aurora/client/api/test_updater.py ..........................

========================== 26 passed in 0.36 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 6 items

src/test/python/apache/aurora/client/api/test_quota_check.py ......

=========================== 6 passed in 0.06 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 17 items

src/test/python/apache/aurora/client/cli/test_create.py ....
src/test/python/apache/aurora/client/cli/test_kill.py .....
src/test/python/apache/aurora/client/cli/test_status.py .....
src/test/python/apache/aurora/client/cli/test_diff.py ...

========================== 17 passed in 0.48 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 24 items

src/test/python/apache/aurora/client/commands/test_cancel_update.py ..
src/test/python/apache/aurora/client/commands/test_create.py ......
src/test/python/apache/aurora/client/commands/test_diff.py ...
src/test/python/apache/aurora/client/commands/test_kill.py ...
src/test/python/apache/aurora/client/commands/test_listjobs.py ..
src/test/python/apache/aurora/client/commands/test_restart.py ...
src/test/python/apache/aurora/client/commands/test_status.py ..
src/test/python/apache/aurora/client/commands/test_update.py ...

========================== 24 passed in 0.78 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/client/commands/test_run.py .

=========================== 1 passed in 0.22 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/client/commands/test_ssh.py .

=========================== 1 passed in 0.22 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 12 items

src/test/python/apache/aurora/client/hooks/test_hooked_api.py ............

========================== 12 passed in 0.17 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 4 items

src/test/python/apache/aurora/client/hooks/test_non_hooked_api.py ....

=========================== 4 passed in 0.16 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/common/test_aurora_job_key.py .

=========================== 1 passed in 0.03 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/common/test_cluster.py .

=========================== 1 passed in 0.02 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 4 items

src/test/python/apache/aurora/common/test_clusters.py ....

=========================== 4 passed in 0.08 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 2 items

src/test/python/apache/aurora/common/test_cluster_option.py ..

=========================== 2 passed in 0.03 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 3 items

src/test/python/apache/aurora/common/test_http_signaler.py ...

=========================== 3 passed in 0.05 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 7 items

src/test/python/apache/aurora/config/test_base.py .......

=========================== 7 passed in 0.70 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/config/test_constraint_parsing.py .

=========================== 1 passed in 0.06 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 6 items

src/test/python/apache/aurora/config/test_loader.py ......

=========================== 6 passed in 0.11 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 10 items

src/test/python/apache/aurora/config/test_thrift.py ..........

========================== 10 passed in 0.87 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 4 items

src/test/python/apache/aurora/executor/test_executor_detector.py ....

=========================== 4 passed in 0.04 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 4 items

src/test/python/apache/aurora/executor/test_executor_vars.py ....

=========================== 4 passed in 0.10 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 5 items

src/test/python/apache/aurora/executor/test_thermos_task_runner.py .....

========================== 5 passed in 16.81 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 2 items

src/test/python/apache/aurora/executor/common/test_directory_sandbox.py ..

=========================== 2 passed in 0.04 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 3 items

src/test/python/apache/aurora/executor/common/test_health_checker.py ...

=========================== 3 passed in 1.33 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/executor/common/test_status_checker.py .

=========================== 1 passed in 0.04 seconds ===========================
============================= test session starts ==============================
platform darwin -- Python 2.7.5 -- pytest-2.5.1
collected 1 items

src/test/python/apache/aurora/executor/common/test_task_info.py .

=========================== 1 passed in 0.13 seconds ===========================
Build operating on targets: OrderedSet([PythonTestSuite(src/test/python/apache/aurora/BUILD:all)])
src.test.python.apache.aurora.admin.mesos_maintenance                           .....   SUCCESS
src.test.python.apache.aurora.client.api.disambiguator                          .....   SUCCESS
src.test.python.apache.aurora.client.api.instance_watcher                       .....   SUCCESS
src.test.python.apache.aurora.client.api.job_monitor                            .....   SUCCESS
src.test.python.apache.aurora.client.api.quota_check                            .....   SUCCESS
src.test.python.apache.aurora.client.api.restarter                              .....   SUCCESS
src.test.python.apache.aurora.client.api.scheduler_client                       .....   SUCCESS
src.test.python.apache.aurora.client.api.updater                                .....   SUCCESS
src.test.python.apache.aurora.client.binding_helper                             .....   SUCCESS
src.test.python.apache.aurora.client.cli.job                                    .....   SUCCESS
src.test.python.apache.aurora.client.commands.core                              .....   SUCCESS
src.test.python.apache.aurora.client.commands.run                               .....   SUCCESS
src.test.python.apache.aurora.client.commands.ssh                               .....   SUCCESS
src.test.python.apache.aurora.client.config                                     .....   SUCCESS
src.test.python.apache.aurora.client.hooks.hooked_api                           .....   SUCCESS
src.test.python.apache.aurora.client.hooks.non_hooked_api                       .....   SUCCESS
src.test.python.apache.aurora.common.test_aurora_job_key                        .....   SUCCESS
src.test.python.apache.aurora.common.test_cluster                               .....   SUCCESS
src.test.python.apache.aurora.common.test_cluster_option                        .....   SUCCESS
src.test.python.apache.aurora.common.test_clusters                              .....   SUCCESS
src.test.python.apache.aurora.common.test_http_signaler                         .....   SUCCESS
src.test.python.apache.aurora.config.test_base                                  .....   SUCCESS
src.test.python.apache.aurora.config.test_constraint_parsing                    .....   SUCCESS
src.test.python.apache.aurora.config.test_loader                                .....   SUCCESS
src.test.python.apache.aurora.config.test_thrift                                .....   SUCCESS
src.test.python.apache.aurora.executor.common.directory_sandbox                 .....   SUCCESS
src.test.python.apache.aurora.executor.common.health_checker                    .....   SUCCESS
src.test.python.apache.aurora.executor.common.status_checker                    .....   SUCCESS
src.test.python.apache.aurora.executor.common.task_info                         .....   SUCCESS
src.test.python.apache.aurora.executor.executor_detector                        .....   SUCCESS
src.test.python.apache.aurora.executor.executor_vars                            .....   SUCCESS
src.test.python.apache.aurora.executor.thermos_task_runner                      .....   SUCCESS

Bugs closed: aurora-42

Reviewed at https://reviews.apache.org/r/16984/
Revert "Get rid of ambiguities about exactly what object is being used to send calls to the scheduler. (See AURORA-42)."

This reverts commit b17bc1f96be9bae0bc5b8d7da8735fcb96772f0d.
Add a test to encourage taking care with thrift changes.

We have more to do w.r.t. automating detection and proper handling of schema
changes (specifically in the scheduler).  However, i see this as low-hanging
fruit to at least serve as a reminder.

Reviewed at https://reviews.apache.org/r/16986/