The goal of this project is to enable existing Mesos frameworks to try out the Mesos V1
HTTP API using the existing SchedulerDriver
interface.
This project's intent is to help migrate existing Mesos frameworks to the HTTP API, and not become the de-facto way of using HTTP API.
To add mesos-http-adapter
as a dependency on your project add following to your pom.xml
:
<dependency>
<groupId>com.mesosphere</groupId>
<artifactId>mesos-http-adapter</artifactId>
<version>0.4.0</version>
</dependency>
To add mesos-http-adapter
as a dependency on your project add following to your build.gradle
:
compile "com.mesosphere:mesos-http-adaptor:0.4.0"
Using MesosToSchedulerDriverAdapter
is really simple, as it's a drop-in replacement of MesosSchedulerDriver
. In your framework code, you need to just update the code which instantiates MesosSchedulerDriver
. For ex:
Before:
MesosSchedulerDriver driver = new MesosSchedulerDriver(scheduler, frameworkInfo, masterUrl);
After:
MesosSchedulerDriver driver = new MesosToSchedulerDriverAdapter(scheduler, frameworkInfo, masterUrl);
If you are using Credential
, then also it's as simple as:
Before:
MesosSchedulerDriver driver = new MesosSchedulerDriver(scheduler, frameworkInfo, masterUrl, credential);
After:
MesosSchedulerDriver driver = new MesosToSchedulerDriverAdapter(scheduler, frameworkInfo, masterUrl, credential);
By default, MesosToSchedulerDriverAdapter
uses V0
version of API (non-HTTP).
To use V1
version of API, you just need to start your framework with MESOS_API_VERSION
environment variable set to V1
. For ex:
export MESOS_API_VERSION=V1
If for some reason you ever want to go back to V0
version while already running framework with version V1
of API, you just need to restart your framework with either MESOS_API_VERSION
environment variable set to V0
OR by unsetting MESOS_API_VERSION
(which automatically default to V0
). For ex:
export MESOS_API_VERSION=V0
OR
unset MESOS_API_VERSION