[ https://issues.apache.org/jira/browse/AURORA-1887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893209#comment-15893209 ]
Zameer Manji commented on AURORA-1887: -------------------------------------- {noformat} commit 705dbc7cd7c3ff477bcf766cdafe49a68ab47dee Author: Zameer Manji <zma...@apache.org> Date: Thu Mar 2 15:07:11 2017 -0800 Enable Mesos HTTP API. 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, event handling logic was extracted into a `MesosCallbackHandler` class. `VersionedMesosSchedulerImpl` was created to implement the new callback interface. Both callbacks new use the handler class for logic. 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. [1] https://docs.google.com/document/d/1bWK8ldaQSsRXvdKwTh8tyR_0qMxAlnMW70eOKoU3myo Testing Done: The e2e test has been run three times, each time with a different driver option. Bugs closed: AURORA-1887, AURORA-1888 Reviewed at https://reviews.apache.org/r/57061/ RELEASE-NOTES.md | 7 + examples/vagrant/upstart/aurora-scheduler.conf | 5 +- .../aurora/benchmark/StatusUpdateBenchmark.java | 6 +- .../org/apache/aurora/scheduler/app/AppModule.java | 12 +- .../apache/aurora/scheduler/app/SchedulerMain.java | 22 +- .../scheduler/mesos/LibMesosLoadingModule.java | 29 +- .../scheduler/mesos/MesosCallbackHandler.java | 288 ++++++++++++++ .../aurora/scheduler/mesos/MesosSchedulerImpl.java | 212 +--------- .../aurora/scheduler/mesos/ProtosConversion.java | 28 ++ .../scheduler/mesos/SchedulerDriverModule.java | 50 ++- ...dingModule.java => VersionedDriverFactory.java} | 20 +- .../mesos/VersionedMesosSchedulerImpl.java | 198 ++++++++++ .../mesos/VersionedSchedulerDriverService.java | 254 ++++++++++++ .../apache/aurora/scheduler/app/SchedulerIT.java | 7 +- .../scheduler/mesos/MesosCallbackHandlerTest.java | 430 +++++++++++++++++++++ .../scheduler/mesos/MesosSchedulerImplTest.java | 424 ++++---------------- .../mesos/VersionedMesosSchedulerImplTest.java | 275 +++++++++++++ .../mesos/VersionedSchedulerDriverServiceTest.java | 194 ++++++++++ .../apache/aurora/scheduler/thrift/ThriftIT.java | 3 +- 19 files changed, 1888 insertions(+), 576 deletions(-) {noformat} > Create Driver implementation around V0Mesos. > -------------------------------------------- > > Key: AURORA-1887 > URL: https://issues.apache.org/jira/browse/AURORA-1887 > Project: Aurora > Issue Type: Task > Reporter: Zameer Manji > Assignee: Zameer Manji > > Create an implementation of the {{org.apache.aurora.scheduler.mesos.Driver}} > interface which uses the {{V0Mesos}} shim under the hood. Provide a flag to > switch between the two to show there is no regression. -- This message was sent by Atlassian JIRA (v6.3.15#6346)