You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@aurora.apache.org by "Zameer Manji (JIRA)" <ji...@apache.org> on 2017/03/02 23:09:45 UTC
[jira] [Commented] (AURORA-1887) Create Driver implementation
around V0Mesos.
[ 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 <zm...@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)