|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.bamboo.buildqueue.manager.AgentManagerImpl
public class AgentManagerImpl
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface com.atlassian.bamboo.buildqueue.manager.AgentManager |
|---|
AgentManager.DisabledAgentsInclusion, AgentManager.OfflineAgentsInclusion |
| Field Summary | |
|---|---|
static java.lang.String |
DEFAULT_AGENT_NAME
|
| Constructor Summary | |
|---|---|
AgentManagerImpl()
|
|
| Method Summary | ||
|---|---|---|
void |
abandonBuild(BuildAgent remoteAgent,
boolean agentStartingUp)
|
|
boolean |
allowNewElasticAgent()
Allow an elastic agent to register and come online? Based on licensing restrictions. |
|
boolean |
allowNewElasticAgents(int numOfAgentsToCreate)
Allow a specified number of elastic agents to register and come online? Based on licensing restrictions. |
|
boolean |
allowNewLocalAgent()
Allow a local agent to come online? Based on licensing restrictions. |
|
boolean |
allowNewRemoteAgent()
Allow a remote agent to register and come online? Based on licensing restrictions. |
|
boolean |
allowNewRemoteAgents(int numOfAgentsToCreate)
Allow a specified number of remote agents to register and come online? Based on licensing restrictions. |
|
boolean |
checkPipelinesAreDisabled()
|
|
void |
createDefaultAgent()
sets up a default local agent if no local agent exists |
|
void |
createLocalAgent(LocalAgentDefinition definition)
Create a new local agent. |
|
void |
disableAllAgents()
Disable all pipelines |
|
void |
enableAllAgents()
Enable all pipelines |
|
|
executeIfIdle(java.util.concurrent.Callable<T> callable)
Executes a given Callable only if no builds are in progress. |
|
java.util.Map<java.lang.Long,PipelineDefinition> |
findAllAgentsForAgentIds(java.util.Collection<java.lang.Long> agentIds)
Returns a Map of PipelineDefinitions keyed by their id |
|
java.util.Collection<BuildAgent> |
getActiveAndEnabledAgents()
Returns agents that are enabled and online |
|
BuildAgent |
getAgent(long agentId)
|
|
long |
getAgentCount(java.lang.Class<ElasticAgentDefinition> agentDefinitionClass)
Retrieves the amount of agents of given type stored in the database |
|
PipelineDefinition |
getAgentDefinition(java.lang.Long agentId)
|
|
PipelineDefinition |
getAgentDefinitionByName(java.lang.String name)
Retrieve a pipelineDefinition by name. |
|
java.util.List<PipelineDefinition> |
getAgentDefinitionsWithNameLike(java.lang.String likeName)
Retrun a list of agents whose name is like the provided string. |
|
java.util.List<BuildAgent> |
getAllAgents()
|
|
java.util.List<ElasticAgentDefinition> |
getAllElasticAgentDefinitions()
Retrieve all elastic agent definitions from db. |
|
java.util.List<ElasticAgentDefinition> |
getAllElasticAgentDefinitions(java.util.Collection<java.lang.String> instanceIds)
Retrieve elastic agent definitions from db. |
|
java.util.List<ElasticAgentDefinition> |
getAllElasticAgentDefinitions(int firstResult,
int maxResults)
Retrieve most recently terminated elastic agent definitions from db, ordered by termination time, descending. |
|
java.util.List<LocalBuildAgent> |
getAllLocalAgents()
Returns all LocalBuildAgent objects |
|
java.util.List<BuildAgent> |
getAllNonElasticAgents()
|
|
java.util.List<PipelineDefinition> |
getAllPersistedAgentDefinitions()
Retrieves a list of all agent definitions stored in the database. |
|
java.util.List<BuildAgent> |
getAllRemoteAgents()
Gets all remote agents in the system. |
|
java.util.List<BuildAgent> |
getAllRemoteAgents(boolean onlineOnly)
Get remote agents. |
|
java.util.Collection<BuildAgent> |
getBusyBuildAgents()
Gets a collection agents that are currently building or cancelling a build |
|
java.util.Collection<BuildAgent> |
getExecutableAgents(RequirementSet requirementSet,
AgentManager.DisabledAgentsInclusion includeDisabled,
AgentManager.OfflineAgentsInclusion includeOffline)
Gets all agents which can run a given RequirementSet |
|
java.util.Collection<BuildAgent> |
getExecutableAgents(RequirementSet requirementSet,
boolean includeDisabled)
Gets all agents which can run a given RequirementSet |
|
ExecutableAgentsMatrix |
getExecutableAgentsMatrix(RequirementSet requirementSet,
AgentManager.DisabledAgentsInclusion includeDisabled,
AgentManager.OfflineAgentsInclusion includeOffline)
Returns a matrix of how many agents match each requirement in the set. |
|
ExecutableAgentsMatrix |
getExecutableAgentsMatrix(RequirementSet requirementSet,
boolean includeDisabled)
Returns a matrix of how many agents match each requirement in the set. |
|
java.util.Collection<ElasticImageConfiguration> |
getExecutableImages(RequirementSet requirementSet)
Retrieves a list of all images which satisfy the given requirements set. |
|
java.util.Collection<ElasticImageConfiguration> |
getExecutableImages(RequirementSet requirementSet,
boolean includeDisabled)
Retrieves a list of all images which satisfy the given requirements set. |
|
LocalBuildAgent |
getLocalAgent(long pipelineId)
Returns the pipeline that matches the passed id |
|
java.util.List<BuildAgent> |
getOnlineElasticAgents()
Retrieve all online elastic build agents. |
|
void |
initAgents()
Inits the local agents Must be ran before any other methods. |
|
void |
removeAgent(long agentId)
Removes the passed agent |
|
void |
saveAnyPipeline(PipelineDefinition pipelineDefinition)
Stores a pipeline PipelineDefinition of any type (elastic, local, remote) |
|
void |
saveElasticPipeline(ElasticAgentDefinition elasticDefinition)
Stores the elastic PipelineDefinition |
|
void |
savePipeline(PipelineDefinition pipelineDefinition)
Stores the PipelineDefinition. |
|
void |
setAgentDao(AgentDao agentDao)
|
|
void |
setBambooLicenseManager(BambooLicenseManager bambooLicenseManager)
|
|
void |
setBuildAgentController(BuildAgentController buildAgentController)
|
|
void |
setBuildExecutionManager(BuildExecutionManager buildExecutionManager)
|
|
void |
setBuildLoggerManager(BuildLoggerManager buildLoggerManager)
|
|
void |
setCapabilityRequirementsMatcher(CapabilityRequirementsMatcher capabilityRequirementsMatcher)
|
|
void |
setCapabilitySetManager(CapabilitySetManager capabilitySetManager)
|
|
void |
setElasticAgentManager(ElasticInstanceManager elasticInstanceManager)
|
|
void |
setElasticImageConfigurationAccessor(ElasticImageConfigurationAccessor elasticImageConfigurationAccessor)
|
|
void |
setErrorUpdateHander(ErrorUpdateHandler errorUpdateHandler)
|
|
void |
setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
|
|
void |
startLocalAgents()
Starts all current LocalBuildAgent objects |
|
void |
stopAgent(BuildAgent agent)
Performs any other operations required when an agent goes offline, such as updating the status and shutdown time. |
|
void |
stopLocalAgents()
Stops all LocalBuildAgent |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String DEFAULT_AGENT_NAME
| Constructor Detail |
|---|
public AgentManagerImpl()
| Method Detail |
|---|
public void createDefaultAgent()
AgentManager
createDefaultAgent in interface AgentManagerpublic void initAgents()
AgentManager
initAgents in interface AgentManagerpublic void startLocalAgents()
AgentManagerLocalBuildAgent objects
startLocalAgents in interface AgentManager
public void stopLocalAgents()
throws java.lang.InterruptedException
AgentManagerLocalBuildAgent
stopLocalAgents in interface AgentManagerjava.lang.InterruptedException@NotNull public java.util.List<LocalBuildAgent> getAllLocalAgents()
AgentManagerLocalBuildAgent objects
getAllLocalAgents in interface AgentManagerLocalBuildAgent objects, or an empty collection if none exists.@NotNull public java.util.List<BuildAgent> getOnlineElasticAgents()
AgentManager
getOnlineElasticAgents in interface AgentManager@NotNull public java.util.List<ElasticAgentDefinition> getAllElasticAgentDefinitions()
AgentManager
getAllElasticAgentDefinitions in interface AgentManager
@NotNull
public java.util.List<ElasticAgentDefinition> getAllElasticAgentDefinitions(int firstResult,
int maxResults)
AgentManager
getAllElasticAgentDefinitions in interface AgentManagerpublic long getAgentCount(java.lang.Class<ElasticAgentDefinition> agentDefinitionClass)
AgentManager
getAgentCount in interface AgentManageragentDefinitionClass - agent type
@NotNull
public java.util.List<ElasticAgentDefinition> getAllElasticAgentDefinitions(@NotNull
java.util.Collection<java.lang.String> instanceIds)
AgentManager
getAllElasticAgentDefinitions in interface AgentManagerinstanceIds - the instances ids on which the agents were running
@NotNull public java.util.List<BuildAgent> getAllRemoteAgents(boolean onlineOnly)
AgentManager
getAllRemoteAgents in interface AgentManageronlineOnly - - only return those agents which are online currently.
@NotNull public java.util.List<BuildAgent> getAllRemoteAgents()
AgentManager
getAllRemoteAgents in interface AgentManager@NotNull public java.util.List<BuildAgent> getAllAgents()
getAllAgents in interface AgentManager@NotNull public java.util.List<BuildAgent> getAllNonElasticAgents()
getAllNonElasticAgents in interface AgentManager@NotNull public java.util.Collection<BuildAgent> getBusyBuildAgents()
AgentManager
getBusyBuildAgents in interface AgentManagerBuildAgent@NotNull public java.util.Collection<BuildAgent> getActiveAndEnabledAgents()
AgentManager
getActiveAndEnabledAgents in interface AgentManagerBuildAgent
@NotNull
public java.util.Collection<BuildAgent> getExecutableAgents(RequirementSet requirementSet,
boolean includeDisabled)
AgentManagerRequirementSet
getExecutableAgents in interface AgentManager
@NotNull
public java.util.Collection<BuildAgent> getExecutableAgents(RequirementSet requirementSet,
AgentManager.DisabledAgentsInclusion includeDisabled,
AgentManager.OfflineAgentsInclusion includeOffline)
AgentManagerRequirementSet
getExecutableAgents in interface AgentManager
@NotNull
public ExecutableAgentsMatrix getExecutableAgentsMatrix(@NotNull
RequirementSet requirementSet,
boolean includeDisabled)
AgentManager
getExecutableAgentsMatrix in interface AgentManager
@NotNull
public ExecutableAgentsMatrix getExecutableAgentsMatrix(@NotNull
RequirementSet requirementSet,
AgentManager.DisabledAgentsInclusion includeDisabled,
AgentManager.OfflineAgentsInclusion includeOffline)
AgentManager
getExecutableAgentsMatrix in interface AgentManager
@NotNull
public java.util.Collection<ElasticImageConfiguration> getExecutableImages(@NotNull
RequirementSet requirementSet,
boolean includeDisabled)
AgentManager
getExecutableImages in interface AgentManagerrequirementSet - to checkincludeDisabled - whether to include images configurations which are currently disabled
ElasticImageConfiguration which can build the requirement set (currently this can
be 1 or none)
@NotNull
public java.util.Collection<ElasticImageConfiguration> getExecutableImages(@NotNull
RequirementSet requirementSet)
AgentManager
getExecutableImages in interface AgentManagerrequirementSet - to check
ElasticImageConfiguration which can build the requirement set (currently this can be 1 or none)
public void createLocalAgent(LocalAgentDefinition definition)
throws BambooLicenseException
AgentManager
createLocalAgent in interface AgentManagerBambooLicenseException
public void savePipeline(@NotNull
PipelineDefinition pipelineDefinition)
AgentManagerPipelineDefinition. Updates any caches so calls to AgentManager.getLocalAgent(long) will return the
LocalBuildAgent returns with the new definition
savePipeline in interface AgentManagerpipelineDefinition - - Must not be null
public void saveElasticPipeline(@NotNull
ElasticAgentDefinition elasticDefinition)
AgentManagerPipelineDefinition
saveElasticPipeline in interface AgentManagerelasticDefinition - - Must not be nullpublic java.util.List<PipelineDefinition> getAllPersistedAgentDefinitions()
AgentManager
getAllPersistedAgentDefinitions in interface AgentManager
public void abandonBuild(@NotNull
BuildAgent remoteAgent,
boolean agentStartingUp)
abandonBuild in interface AgentManager
public void stopAgent(@NotNull
BuildAgent agent)
AgentManager
stopAgent in interface AgentManageragent - to be stoppedpublic LocalBuildAgent getLocalAgent(long pipelineId)
AgentManager
getLocalAgent in interface AgentManagerLocalBuildAgent object. Null if pipeline does not exist@Nullable public BuildAgent getAgent(long agentId)
getAgent in interface AgentManager
@Nullable
public PipelineDefinition getAgentDefinition(@NotNull
java.lang.Long agentId)
getAgentDefinition in interface AgentManager
public java.util.Map<java.lang.Long,PipelineDefinition> findAllAgentsForAgentIds(@NotNull
java.util.Collection<java.lang.Long> agentIds)
AgentManagerPipelineDefinitions keyed by their id
findAllAgentsForAgentIds in interface AgentManager
@Nullable
public PipelineDefinition getAgentDefinitionByName(@NotNull
java.lang.String name)
AgentManager
getAgentDefinitionByName in interface AgentManagername - of the agent to find
@NotNull
public java.util.List<PipelineDefinition> getAgentDefinitionsWithNameLike(@NotNull
java.lang.String likeName)
AgentManager
getAgentDefinitionsWithNameLike in interface AgentManagerlikeName - the string to match
public void saveAnyPipeline(@NotNull
PipelineDefinition pipelineDefinition)
AgentManagerPipelineDefinition of any type (elastic, local, remote)
saveAnyPipeline in interface AgentManagerpipelineDefinition - - Must not be nullpublic void disableAllAgents()
AgentManager
disableAllAgents in interface AgentManagerpublic void enableAllAgents()
AgentManager
enableAllAgents in interface AgentManagerpublic boolean checkPipelinesAreDisabled()
checkPipelinesAreDisabled in interface AgentManager
public <T> T executeIfIdle(java.util.concurrent.Callable<T> callable)
throws java.lang.Exception
AgentManagerExecutes a given Callable only if no builds are in progress. Builds are prevented from starting while
the Callable executes.
executeIfIdle in interface AgentManagercallable - the Callable to be executed
callable
BambooBusyException - if builds are in progress
java.lang.Exception - if thrown by callable
public void removeAgent(long agentId)
throws java.util.concurrent.TimeoutException
AgentManager
removeAgent in interface AgentManagerjava.util.concurrent.TimeoutExceptionpublic boolean allowNewRemoteAgent()
AgentManager
allowNewRemoteAgent in interface AgentManagerpublic boolean allowNewRemoteAgents(int numOfAgentsToCreate)
AgentManager
allowNewRemoteAgents in interface AgentManagerpublic boolean allowNewElasticAgent()
AgentManager
allowNewElasticAgent in interface AgentManagerpublic boolean allowNewElasticAgents(int numOfAgentsToCreate)
AgentManager
allowNewElasticAgents in interface AgentManagerpublic boolean allowNewLocalAgent()
AgentManager
allowNewLocalAgent in interface AgentManagerpublic void setBuildAgentController(BuildAgentController buildAgentController)
public void setCapabilityRequirementsMatcher(CapabilityRequirementsMatcher capabilityRequirementsMatcher)
public void setCapabilitySetManager(CapabilitySetManager capabilitySetManager)
public void setEventPublisher(com.atlassian.event.api.EventPublisher eventPublisher)
public void setBambooLicenseManager(BambooLicenseManager bambooLicenseManager)
public void setElasticImageConfigurationAccessor(ElasticImageConfigurationAccessor elasticImageConfigurationAccessor)
public void setAgentDao(AgentDao agentDao)
public void setElasticAgentManager(ElasticInstanceManager elasticInstanceManager)
public void setBuildExecutionManager(BuildExecutionManager buildExecutionManager)
public void setErrorUpdateHander(ErrorUpdateHandler errorUpdateHandler)
public void setBuildLoggerManager(BuildLoggerManager buildLoggerManager)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||