Documentation ¶
Overview ¶
Package units contains amboy.Job definiteness for Evergreen tasks.
Loading the units package registers all jobs in the amboy Job Registry.
By convention the implementations of these jobs are: private with public constructors that return the amboy.Job type, they use amboy/job.Base for core implementation, implementing only Run and whatever additional methods or functions are required. The units package prefers a one-to-one mapping of files to job implementations. Additionally all jobs must be capable of marshiling to either JSON/BSON/YAML (depending on the amoby.JobType format.)
Index ¶
- Constants
- func NewAgentDeployJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewAgentMonitorDeployJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewBuildingContainerImageJob(env evergreen.Environment, h *host.Host, dockerOptions host.DockerOptions, ...) amboy.Job
- func NewCacheHistoricalTestDataJob(projectId string, id string) amboy.Job
- func NewCloudHostReadyJob(env evergreen.Environment, id string) amboy.Job
- func NewCollectHostIdleDataJob(h *host.Host, t *task.Task, startTime, finishTime time.Time) amboy.Job
- func NewCollectTaskEndDataJob(t *task.Task, h *host.Host) amboy.Job
- func NewCommitQueueJob(env evergreen.Environment, queueID string, id string) amboy.Job
- func NewCronRemoteFifteenMinuteJob() amboy.Job
- func NewCronRemoteFifteenSecondJob() amboy.Job
- func NewCronRemoteFiveMinuteJob() amboy.Job
- func NewCronRemoteMinuteJob() amboy.Job
- func NewDecoHostNotifyJob(env evergreen.Environment, h *host.Host, err error, message string) amboy.Job
- func NewDistroSchedulerJob(env evergreen.Environment, distroID string, ts time.Time) amboy.Job
- func NewEventMetaJob(q amboy.Queue, ts string) amboy.Job
- func NewEventNotificationJob(id string) amboy.Job
- func NewGenerateTasksJob(id string, json []json.RawMessage) amboy.Job
- func NewGithubStatusUpdateJobForExternalPatch(patchID string) amboy.Job
- func NewGithubStatusUpdateJobForNewPatch(version string) amboy.Job
- func NewGithubStatusUpdateJobForProcessingError(githubContext, owner, repo, ref, description string) amboy.Job
- func NewGithubStatusUpdateJobForPushToCommitQueue(owner, repo, ref string, prNumber int) amboy.Job
- func NewHostAlertingJob(h host.Host, ts string) amboy.Job
- func NewHostAllocatorJob(env evergreen.Environment, distroID string, timestamp time.Time) amboy.Job
- func NewHostCreateJob(env evergreen.Environment, h host.Host, id string, CurrentAttempt int, ...) amboy.Job
- func NewHostMonitorContainerStateJob(env evergreen.Environment, h *host.Host, providerName, id string) amboy.Job
- func NewHostMonitorExternalStateJob(env evergreen.Environment, h *host.Host, id string) amboy.Job
- func NewHostSetupJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewHostStatsCollector(id string) amboy.Job
- func NewHostStatsJob(ts string) amboy.Job
- func NewHostTerminationJob(env evergreen.Environment, h host.Host, terminateIfBusy bool) amboy.Job
- func NewIdleHostTerminationJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewJasperManagerCleanup(id string, env evergreen.Environment) amboy.Job
- func NewLastContainerFinishTimeJob(id string) amboy.Job
- func NewLatencyStatsCollector(id string, duration time.Duration) amboy.Job
- func NewLegacyMonitorRunnerJob(env evergreen.Environment, id string) amboy.Job
- func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewNotificationStatsCollector(id string) amboy.Job
- func NewOldestImageRemovalJob(h *host.Host, providerName, id string) amboy.Job
- func NewParentDecommissionJob(id, d string, maxContainers int) amboy.Job
- func NewPatchIntentProcessor(patchID mgobson.ObjectId, intent patch.Intent) amboy.Job
- func NewPeriodicBuildJob(projectID string, ts string) amboy.Job
- func NewQueueStatsCollector(id string) amboy.Job
- func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewRepotrackerJob(msgID, projectID string) amboy.Job
- func NewSpawnhostExpirationWarningsJob(id string) amboy.Job
- func NewSpawnhostTerminationAlertJob(user, host string, id string) amboy.Job
- func NewStrandedTaskCleanupJob(id string) amboy.Job
- func NewSysInfoStatsCollector(id string) amboy.Job
- func NewTaskExecutionMonitorJob(taskID string, execution int, attempt int, ts string) amboy.Job
- func NewTaskExecutionMonitorPopulateJob(id string) amboy.Job
- func NewTaskStatsCollector(id string) amboy.Job
- func NewTasksRestartJob(opts model.RestartTaskOptions) amboy.Job
- func NewVersionActivationJob(project string, id string) amboy.Job
- func PopulateActivationJobs(part int) amboy.QueueOperation
- func PopulateAgentDeployJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateAgentMonitorDeployJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateBackgroundStatsJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateCacheHistoricalTestDataJob(part int) amboy.QueueOperation
- func PopulateCatchupJobs(part int) amboy.QueueOperation
- func PopulateCommitQueueJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateContainerStateJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateEventAlertProcessing(parts int) amboy.QueueOperation
- func PopulateHostAlertJobs(parts int) amboy.QueueOperation
- func PopulateHostAllocatorJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostCreationJobs(env evergreen.Environment, part int) amboy.QueueOperation
- func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostSetupJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateIdleHostJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateLastContainerFinishTimeJobs() amboy.QueueOperation
- func PopulateLocalQueueJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateOldestImageRemovalJobs() amboy.QueueOperation
- func PopulateParentDecommissionJobs() amboy.QueueOperation
- func PopulatePeriodicBuilds(part int) amboy.QueueOperation
- func PopulatePeriodicNotificationJobs(parts int) amboy.QueueOperation
- func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
- func PopulateSchedulerJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateTaskMonitoring(mins int) amboy.QueueOperation
Constants ¶
const ( // GitHub intent processing errors ProjectDisabled = "project was disabled" PatchingDisabled = "patching was disabled" GitHubInternalError = "GitHub returned an error" InvalidConfig = "config file was invalid" OtherErrors = "Evergreen error" )
Variables ¶
This section is empty.
Functions ¶
func NewAgentDeployJob ¶
func NewAgentMonitorDeployJob ¶
NewAgentMonitorDeployJob creates a job that deploys the agent monitor to the host.
func NewBuildingContainerImageJob ¶
func NewBuildingContainerImageJob(env evergreen.Environment, h *host.Host, dockerOptions host.DockerOptions, providerName string) amboy.Job
func NewCloudHostReadyJob ¶
func NewCloudHostReadyJob(env evergreen.Environment, id string) amboy.Job
NewCloudHostReadyJob gets statuses for all jobs created by Cloud providers which the Cloud providers' APIs have not yet returned all running. It marks the hosts running in the database.
func NewCollectTaskEndDataJob ¶
NewCollectTaskEndDataJob determines a task's cost based on the host it ran on. Hosts that are unable to calculate their own costs will not set a task's Cost field. Errors are logged but not returned, since any number of API failures could happen and we shouldn't sacrifice a task's status for them.
It also logs historic task timing information.
func NewCommitQueueJob ¶
func NewCronRemoteMinuteJob ¶
func NewDecoHostNotifyJob ¶
func NewDistroSchedulerJob ¶
func NewEventNotificationJob ¶
func NewGenerateTasksJob ¶
func NewGenerateTasksJob(id string, json []json.RawMessage) amboy.Job
func NewGithubStatusUpdateJobForExternalPatch ¶
NewGithubStatusUpdateJobForExternalPatch prompts on Github for a user to manually authorize this patch
func NewGithubStatusUpdateJobForNewPatch ¶
NewGithubStatusUpdateJobForNewPatch creates a job to update github's API for a newly created patch, reporting it as pending, with description "preparing to run tasks"
func NewGithubStatusUpdateJobForProcessingError ¶
func NewGithubStatusUpdateJobForProcessingError(githubContext, owner, repo, ref, description string) amboy.Job
NewGithubStatusUpdateJobForProcessingError marks a ref as failed because the evergreen encountered an error creating a patch
func NewHostAllocatorJob ¶
func NewHostCreateJob ¶
func NewHostSetupJob ¶
func NewHostStatsCollector ¶
NewHostStatsCollector logs statistics about host utilization per distro to the default grip logger.
func NewHostStatsJob ¶
func NewHostTerminationJob ¶
func NewJasperManagerCleanup ¶
func NewJasperManagerCleanup(id string, env evergreen.Environment) amboy.Job
NewJasperManagerCleanup reports basic system information and a report of the go runtime information, as provided by grip.
func NewLatencyStatsCollector ¶
NewLatencyStatsCollector captures a single report of the latency of tasks that have started in the last minute.
func NewLegacyMonitorRunnerJob ¶
func NewLegacyMonitorRunnerJob(env evergreen.Environment, id string) amboy.Job
func NewLocalAmboyStatsCollector ¶
func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
NewLocalAmboyStatsCollector reports the status of only the local queue registered in the evergreen service Environment.
func NewPatchIntentProcessor ¶
NewPatchIntentProcessor creates an amboy job to create a patch from the given patch intent with the given object ID for the patch
func NewQueueStatsCollector ¶
func NewRemoteAmboyStatsCollector ¶
func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
NewRemoteAmboyStatsCollector reports the status of only the remote queue registered in the evergreen service Environment.
func NewRepotrackerJob ¶
NewRepotrackerJob creates a job to run repotracker against a repository. The code creating this job is responsible for verifying that the project should track push events
func NewSysInfoStatsCollector ¶
NewSysInfoStatsCollector reports basic system information and a report of the go runtime information, as provided by grip.
func NewTaskStatsCollector ¶
NewTaskStatsCollector captures a single report of the status of tasks that have completed in the last minute.
func NewTasksRestartJob ¶
func NewTasksRestartJob(opts model.RestartTaskOptions) amboy.Job
NewTasksRestartJob creates a job to restart failed tasks in a time range
func PopulateActivationJobs ¶
func PopulateActivationJobs(part int) amboy.QueueOperation
func PopulateAgentDeployJobs ¶
func PopulateAgentDeployJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateAgentMonitorDeployJobs ¶
func PopulateAgentMonitorDeployJobs(env evergreen.Environment) amboy.QueueOperation
PopulateAgentMonitorDeployJobs enqueues the jobs to deploy the agent monitor to any host in which: (1) the agent monitor has not been deployed yet, (2) the agent's last communication time has exceeded the threshold or (3) has already been marked as needing to redeploy a new agent monitor.
func PopulateBackgroundStatsJobs ¶
func PopulateBackgroundStatsJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateCacheHistoricalTestDataJob ¶
func PopulateCacheHistoricalTestDataJob(part int) amboy.QueueOperation
func PopulateCatchupJobs ¶
func PopulateCatchupJobs(part int) amboy.QueueOperation
func PopulateCommitQueueJobs ¶
func PopulateCommitQueueJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateContainerStateJobs ¶
func PopulateContainerStateJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateEventAlertProcessing ¶
func PopulateEventAlertProcessing(parts int) amboy.QueueOperation
func PopulateHostAlertJobs ¶
func PopulateHostAlertJobs(parts int) amboy.QueueOperation
PopulateHostAlertJobs adds alerting tasks infrequently for host utilization monitoring.
func PopulateHostAllocatorJobs ¶
func PopulateHostAllocatorJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateHostCreationJobs ¶
func PopulateHostCreationJobs(env evergreen.Environment, part int) amboy.QueueOperation
func PopulateHostMonitoring ¶
func PopulateHostMonitoring(env evergreen.Environment) amboy.QueueOperation
func PopulateHostSetupJobs ¶
func PopulateHostSetupJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateHostTerminationJobs ¶
func PopulateHostTerminationJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateIdleHostJobs ¶
func PopulateIdleHostJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateLastContainerFinishTimeJobs ¶
func PopulateLastContainerFinishTimeJobs() amboy.QueueOperation
func PopulateLocalQueueJobs ¶
func PopulateLocalQueueJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateOldestImageRemovalJobs ¶
func PopulateOldestImageRemovalJobs() amboy.QueueOperation
func PopulateParentDecommissionJobs ¶
func PopulateParentDecommissionJobs() amboy.QueueOperation
func PopulatePeriodicBuilds ¶
func PopulatePeriodicBuilds(part int) amboy.QueueOperation
func PopulatePeriodicNotificationJobs ¶
func PopulatePeriodicNotificationJobs(parts int) amboy.QueueOperation
func PopulateRepotrackerPollingJobs ¶
func PopulateRepotrackerPollingJobs(part int) amboy.QueueOperation
func PopulateSchedulerJobs ¶
func PopulateSchedulerJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateTaskMonitoring ¶
func PopulateTaskMonitoring(mins int) amboy.QueueOperation
Types ¶
This section is empty.
Source Files ¶
- building_container_image.go
- cache_historical_test_data.go
- commit_queue.go
- crons.go
- crons_remote_fifteen_minute.go
- crons_remote_fifteen_second.go
- crons_remote_five_minute.go
- crons_remote_minute.go
- deco_host_notify.go
- doc.go
- event_metajob.go
- event_send.go
- generate_tasks.go
- github_status_api.go
- host_alerting.go
- host_allocator.go
- host_monitoring_container_state.go
- host_monitoring_external_termination.go
- host_monitoring_idle_termination.go
- host_monitoring_last_container_finish_time.go
- host_monitoring_parent_decommission.go
- host_stats.go
- host_status.go
- host_termination.go
- jasper_cleanup.go
- legacy_monitoring.go
- oldest_image_removal.go
- patch_intent.go
- periodic_builds.go
- provisioning_agent_deploy.go
- provisioning_agent_monitor_deploy.go
- provisioning_create_host.go
- provisioning_setup_host.go
- repotracker.go
- repotracker_activation.go
- scheduler.go
- spawnhost_expiration_warning.go
- spawnhost_termination_alert.go
- stats_amboy.go
- stats_host.go
- stats_host_idle.go
- stats_latency.go
- stats_notifications.go
- stats_queue.go
- stats_sysinfo.go
- stats_task.go
- stats_task_end.go
- task_monitor_execution_timeout.go
- task_stranded_cleanup.go
- tasks_restart.go