public class MesosCloud
extends hudson.slaves.AbstractCloudImpl
The layout is inspired by the Nomad Plugin.
| Modifier and Type | Class and Description |
|---|---|
static class |
MesosCloud.DcosAuthorization |
static class |
MesosCloud.DescriptorImpl |
| Constructor and Description |
|---|
MesosCloud(java.lang.String mesosMasterUrl,
java.lang.String frameworkName,
java.lang.String frameworkId,
java.lang.String role,
java.lang.String agentUser,
java.lang.String jenkinsURL,
java.util.List<? extends MesosAgentSpecTemplate> mesosAgentSpecTemplates) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canProvision(hudson.model.Label label)
Start a Jenkins agent.jar on Mesos.
|
java.lang.String |
getAgentUser() |
java.lang.String |
getFrameworkId() |
java.lang.String |
getFrameworkName() |
java.lang.String |
getJenkinsURL() |
java.util.List<MesosAgentSpecTemplate> |
getMesosAgentSpecTemplates() |
MesosApi |
getMesosApi() |
java.lang.String |
getMesosMasterUrl() |
int |
getPending() |
java.lang.String |
getRole() |
java.util.Collection<hudson.slaves.NodeProvisioner.PlannedNode> |
provision(hudson.model.Label label,
int excessWorkload)
Provision one or more Jenkins nodes on Mesos.
|
java.util.concurrent.Future<hudson.model.Node> |
startAgent(java.lang.String name,
MesosAgentSpecTemplate spec)
Start a Jenkins agent.jar on Mesos.
|
getInstanceCap, getInstanceCapStr, setInstanceCap, setInstanceCapStrall, getACL, getDescriptor, getDisplayName, getSearchUrl, getUrladdAction, addOrReplaceAction, doContextMenu, getAction, getAction, getActions, getActions, getAllActions, getDynamic, removeAction, removeActions, replaceAction, replaceActionsgetSearch, getSearchIndex, getSearchName, makeSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError@DataBoundConstructor
public MesosCloud(java.lang.String mesosMasterUrl,
java.lang.String frameworkName,
java.lang.String frameworkId,
java.lang.String role,
java.lang.String agentUser,
java.lang.String jenkinsURL,
java.util.List<? extends MesosAgentSpecTemplate> mesosAgentSpecTemplates)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException,
java.io.IOException
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.io.IOExceptionpublic java.util.Collection<hudson.slaves.NodeProvisioner.PlannedNode> provision(hudson.model.Label label,
int excessWorkload)
The provisioning follows the Nomad plugin. The Jenkins agents is started as a Mesos task and added to the available Jenkins nodes. This differs from the old plugin when the provision method would return immediately.
provision in class hudson.slaves.Cloudlabel - excessWorkload - public boolean canProvision(hudson.model.Label label)
The future completes when the agent.jar is running on Mesos and the agent became online.
canProvision in class hudson.slaves.Cloudpublic java.util.concurrent.Future<hudson.model.Node> startAgent(java.lang.String name,
MesosAgentSpecTemplate spec)
throws java.io.IOException,
hudson.model.Descriptor.FormException,
java.net.URISyntaxException
Provide a callback for Jenkins to start a Node.
name - Name of the Jenkins name and Mesos task.spec - The MesosAgentSpecTemplate that was configured for the Jenkins node.java.io.IOExceptionhudson.model.Descriptor.FormExceptionjava.net.URISyntaxExceptionpublic java.util.List<MesosAgentSpecTemplate> getMesosAgentSpecTemplates()
public java.lang.String getMesosMasterUrl()
public java.lang.String getFrameworkId()
public java.lang.String getFrameworkName()
public java.lang.String getJenkinsURL()
public java.lang.String getAgentUser()
public java.lang.String getRole()
public int getPending()
public MesosApi getMesosApi()