-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/57061/
-----------------------------------------------------------

Review request for Aurora, David McLaughlin, Mehrdad Nurolahzade, and Stephan 
Erb.


Bugs: AURORA-1887 and AURORA-1888
    https://issues.apache.org/jira/browse/AURORA-1887
    https://issues.apache.org/jira/browse/AURORA-1888


Repository: aurora


Description
-------

This patch completes the design doc[1] and enables operators to choose between
two V1 Mesos API implementations. The first is `V0Mesos` which offers the V1 API
backed by the scheduler driver and the second is `V1Mesos` which offers the V1
API backed by a new HTTP API implementation.

There are three sets of changes in this patch.

First, the V1 Mesos code requires a Scheduler callback with a different API. To
maximize code reuse, `MesosSchedulerImpl` was extended to implement the new
callback as well as the old callback. The code and tests were reshufled to
maxmize logic reuse.

Second, a new driver implementation using the new API was created. All of the
logic for the new driver is encapsulated in the
`VersionedSchedulerDriverService` class.

Third, some wiring changes were done to allow for Guice to do it's work and
allow for operators to select between the different driver implementations.

Unfortunately, due the interaction of Java 8 and Guice 3.0 I was forced to
disable the `SchedulerI` test. I beleive the only way out is to upgrade to
Guice 4.0 which we cannot do yet. Since the e2e tests pass, it is clear that the
Guice bindings are valid.


[1] 
https://docs.google.com/document/d/1bWK8ldaQSsRXvdKwTh8tyR_0qMxAlnMW70eOKoU3myo


Diffs
-----

  config/legacy_untested_classes.txt ec3e934b2e0510b9339ac71182b78546cac0e7eb 
  examples/vagrant/upstart/aurora-scheduler.conf 
49fdcbd8b7406a59ae7882473b9eddbfce3ece7c 
  src/main/java/org/apache/aurora/scheduler/app/AppModule.java 
e2ef9c30720698263106f22e3e24db5d0468b155 
  src/main/java/org/apache/aurora/scheduler/app/SchedulerMain.java 
805e9de9bc45396cb8fc6e33ddb3d7428312c608 
  src/main/java/org/apache/aurora/scheduler/mesos/LibMesosLoadingModule.java 
e1a23590c795a489e753b77b0835d30d3be174b5 
  src/main/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImpl.java 
17301036e28d95ba90b3e4d8840d8a5641e49c46 
  src/main/java/org/apache/aurora/scheduler/mesos/ProtosConversion.java 
bc9e23b7410c00b7d5ffa4f23db93a51e9d0f405 
  src/main/java/org/apache/aurora/scheduler/mesos/SchedulerDriverModule.java 
5519323079b2c957a23e093dcc77929148b4a59a 
  src/main/java/org/apache/aurora/scheduler/mesos/VersionedDriverFactory.java 
PRE-CREATION 
  
src/main/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverService.java
 PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/app/SchedulerIT.java 
05518048ca5518a007281269aa402a7d0710eb62 
  src/test/java/org/apache/aurora/scheduler/mesos/MesosSchedulerImplTest.java 
9bb319bb04bb386d9792c3cc0017b039e8f25044 
  
src/test/java/org/apache/aurora/scheduler/mesos/VersionedSchedulerDriverServiceTest.java
 PRE-CREATION 
  src/test/java/org/apache/aurora/scheduler/thrift/ThriftIT.java 
f2275c757ebfa52179e31b95bf0c02b6753fb7e3 

Diff: https://reviews.apache.org/r/57061/diff/


Testing
-------

The e2e test has been run three times, each time with a different driver option.


Thanks,

Zameer Manji

Reply via email to