org.jenkinsci.plugins.mesos
Class JenkinsScheduler
java.lang.Object
org.jenkinsci.plugins.mesos.JenkinsScheduler
- All Implemented Interfaces:
- org.apache.mesos.Scheduler
public class JenkinsScheduler
- extends Object
- implements org.apache.mesos.Scheduler
|
Method Summary |
void |
clearResults()
|
void |
disconnected(org.apache.mesos.SchedulerDriver driver)
|
void |
error(org.apache.mesos.SchedulerDriver driver,
String message)
|
void |
executorLost(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.ExecutorID executorId,
org.apache.mesos.Protos.SlaveID slaveId,
int status)
|
void |
frameworkMessage(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.ExecutorID executorId,
org.apache.mesos.Protos.SlaveID slaveId,
byte[] data)
|
int |
getNumberOfActiveTasks()
|
int |
getNumberofPendingTasks()
|
void |
init()
|
boolean |
isRunning()
|
void |
offerRescinded(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.OfferID offerId)
|
void |
registered(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.FrameworkID frameworkId,
org.apache.mesos.Protos.MasterInfo masterInfo)
|
void |
requestJenkinsSlave(Mesos.SlaveRequest request,
org.jenkinsci.plugins.mesos.Mesos.SlaveResult result)
|
void |
reregistered(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.MasterInfo masterInfo)
|
void |
resourceOffers(org.apache.mesos.SchedulerDriver driver,
List<org.apache.mesos.Protos.Offer> offers)
|
protected void |
setMesosCloud(MesosCloud mesosCloud)
|
void |
slaveLost(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.SlaveID slaveId)
|
void |
statusUpdate(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.TaskStatus status)
|
void |
stop()
|
static void |
supervise()
Disconnect framework, if we don't have active mesos slaves. |
void |
terminateJenkinsSlave(String name)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SUPERVISOR_LOCK
public static final Lock SUPERVISOR_LOCK
JenkinsScheduler
public JenkinsScheduler(String jenkinsMaster,
MesosCloud mesosCloud)
init
public void init()
stop
public void stop()
isRunning
public boolean isRunning()
requestJenkinsSlave
public void requestJenkinsSlave(Mesos.SlaveRequest request,
org.jenkinsci.plugins.mesos.Mesos.SlaveResult result)
terminateJenkinsSlave
public void terminateJenkinsSlave(String name)
registered
public void registered(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.FrameworkID frameworkId,
org.apache.mesos.Protos.MasterInfo masterInfo)
- Specified by:
registered in interface org.apache.mesos.Scheduler
reregistered
public void reregistered(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.MasterInfo masterInfo)
- Specified by:
reregistered in interface org.apache.mesos.Scheduler
disconnected
public void disconnected(org.apache.mesos.SchedulerDriver driver)
- Specified by:
disconnected in interface org.apache.mesos.Scheduler
resourceOffers
public void resourceOffers(org.apache.mesos.SchedulerDriver driver,
List<org.apache.mesos.Protos.Offer> offers)
- Specified by:
resourceOffers in interface org.apache.mesos.Scheduler
offerRescinded
public void offerRescinded(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.OfferID offerId)
- Specified by:
offerRescinded in interface org.apache.mesos.Scheduler
statusUpdate
public void statusUpdate(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.TaskStatus status)
- Specified by:
statusUpdate in interface org.apache.mesos.Scheduler
frameworkMessage
public void frameworkMessage(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.ExecutorID executorId,
org.apache.mesos.Protos.SlaveID slaveId,
byte[] data)
- Specified by:
frameworkMessage in interface org.apache.mesos.Scheduler
slaveLost
public void slaveLost(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.SlaveID slaveId)
- Specified by:
slaveLost in interface org.apache.mesos.Scheduler
executorLost
public void executorLost(org.apache.mesos.SchedulerDriver driver,
org.apache.mesos.Protos.ExecutorID executorId,
org.apache.mesos.Protos.SlaveID slaveId,
int status)
- Specified by:
executorLost in interface org.apache.mesos.Scheduler
error
public void error(org.apache.mesos.SchedulerDriver driver,
String message)
- Specified by:
error in interface org.apache.mesos.Scheduler
setMesosCloud
protected void setMesosCloud(MesosCloud mesosCloud)
- Parameters:
mesosCloud - the mesosCloud to set
getNumberofPendingTasks
public int getNumberofPendingTasks()
getNumberOfActiveTasks
public int getNumberOfActiveTasks()
clearResults
public void clearResults()
supervise
public static void supervise()
- Disconnect framework, if we don't have active mesos slaves. Also, make
sure JenkinsScheduler's request queue is empty.
Copyright © 2004-2014. All Rights Reserved.