Documentation ¶
Overview ¶
Package units contains amboy.Job definitions.
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 marshalling to JSON/BSON (depending on the amoby.JobType format.)
Index ¶
- Constants
- func AddMergeTaskAndVariant(ctx context.Context, patchDoc *patch.Patch, project *model.Project, ...) (*model.ParserProject, error)
- func CreateAndEnqueueGenerateTasks(ctx context.Context, env evergreen.Environment, tasks []task.Task, ts string) error
- func DisableAndNotifyPoisonedHost(ctx context.Context, env evergreen.Environment, h *host.Host, ...) error
- func EnqueueHostCreateJobs(ctx context.Context, env evergreen.Environment, hostIntents []host.Host) error
- func EnqueueHostReprovisioningJob(ctx context.Context, env evergreen.Environment, h *host.Host) error
- func EnqueueSpawnHostModificationJob(ctx context.Context, env evergreen.Environment, j amboy.Job) error
- func EnqueueTerminateHostJob(ctx context.Context, env evergreen.Environment, j amboy.Job) error
- func GetGithubTokensForTask(ctx context.Context, taskId string) (string, []string, error)
- func HandlePoisonedHost(ctx context.Context, env evergreen.Environment, h *host.Host, reason string) error
- 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 NewCacheHistoricalTaskDataJob(id, projectID string) amboy.Job
- func NewCheckBlockedTasksJob(distroId string, ts time.Time) amboy.Job
- func NewCloudCleanupJob(env evergreen.Environment, ts, provider, region string) amboy.Job
- func NewCloudHostReadyJob(env evergreen.Environment, id string) amboy.Job
- func NewCloudUpdateSSHKeysJob(provider, region, id string) amboy.Job
- func NewCommitQueueJob(env evergreen.Environment, queueID string, id string) amboy.Job
- func NewContainerSecretCleanupJob(id string) amboy.Job
- func NewConvertHostToLegacyProvisioningJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewConvertHostToNewProvisioningJob(env evergreen.Environment, h host.Host, id string) amboy.Job
- func NewCronRemoteFifteenMinuteJob() amboy.Job
- func NewCronRemoteFifteenSecondJob() amboy.Job
- func NewCronRemoteFiveMinuteJob() amboy.Job
- func NewCronRemoteHourJob() amboy.Job
- func NewCronRemoteMinuteJob() amboy.Job
- func NewDecoHostNotifyJob(env evergreen.Environment, hostID, message string) amboy.Job
- func NewDistroAliasSchedulerJob(distroID string, id string) amboy.Job
- func NewDistroSchedulerJob(distroID string, id string) amboy.Job
- func NewDuplicateTaskCheckJob(id string) amboy.Job
- func NewEventNotifierJob(env evergreen.Environment, eventID, ts string) amboy.Job
- func NewEventSendJob(id, ts string) amboy.Job
- func NewGenerateTasksJob(env evergreen.Environment, versionID, taskID string, ts string) amboy.Job
- func NewGithubStatusRefreshJob(p *patch.Patch) amboy.Job
- func NewGithubStatusUpdateJobForDeleteFromCommitQueue(owner, repo, ref string, prNumber int) amboy.Job
- func NewGithubStatusUpdateJobForExternalPatch(patchID string) amboy.Job
- func NewGithubStatusUpdateJobForNewPatch(patchID string) amboy.Job
- func NewGithubStatusUpdateJobForProcessingError(githubContext, owner, repo, ref, description string) amboy.Job
- func NewGithubStatusUpdateJobForPushToCommitQueue(owner, repo, ref string, prNumber int, patchId string) amboy.Job
- func NewGithubStatusUpdateJobWithSuccessMessage(githubContext, owner, repo, ref, description 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, buildImageStarted bool) amboy.Job
- func NewHostDrawdownJob(env evergreen.Environment, drawdownInfo DrawdownInfo, ts string) amboy.Job
- func NewHostExecuteJob(env evergreen.Environment, h host.Host, script string, sudo bool, ...) amboy.Job
- func NewHostMonitorContainerStateJob(h *host.Host, providerName, id string) amboy.Job
- func NewHostMonitoringCheckJob(env evergreen.Environment, h *host.Host, id string) amboy.Job
- func NewHostSetupScriptJob(env evergreen.Environment, h *host.Host) amboy.Job
- func NewHostStatsCollector(id string) amboy.Job
- func NewHostStatsJob(ts string) amboy.Job
- func NewHostTerminationJob(env evergreen.Environment, h *host.Host, opts HostTerminationOptions) amboy.Job
- func NewIdleHostTerminationJob(env evergreen.Environment, id string) amboy.Job
- func NewJasperManagerCleanup(id string, env evergreen.Environment) amboy.Job
- func NewLastContainerFinishTimeJob(id string) amboy.Job
- func NewLocalAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewLocalUpdateSSHKeysJob(id string) amboy.Job
- func NewNotificationStatsCollector(id string) amboy.Job
- func NewOldestImageRemovalJob(h *host.Host, providerName, id string) amboy.Job
- func NewParameterStoreSyncJob(ts string) amboy.Job
- func NewParentDecommissionJob(id, d string, maxContainers int) amboy.Job
- func NewPatchIntentProcessor(env evergreen.Environment, patchID mgobson.ObjectId, intent patch.Intent) amboy.Job
- func NewPeriodicBuildJob(projectID, definitionID string) amboy.Job
- func NewPodAllocatorJob(taskID, ts string) amboy.Job
- func NewPodCreationJob(podID, id string) amboy.Job
- func NewPodDefinitionCleanupJob(id string) amboy.Job
- func NewPodDefinitionCreationJob(ecsConf evergreen.ECSConfig, opts pod.TaskContainerCreationOptions, id string) amboy.Job
- func NewPodHealthCheckJob(podID string, ts time.Time) amboy.Job
- func NewPodStatsCollector(id string) amboy.Job
- func NewPodTerminationJob(podID, reason string, ts time.Time) amboy.Job
- func NewQueueStatsCollector(id string) amboy.Job
- func NewReauthorizeUserJob(env evergreen.Environment, u *user.DBUser, id string) amboy.Job
- func NewRemoteAmboyStatsCollector(env evergreen.Environment, id string) amboy.Job
- func NewRepotrackerJob(msgID, projectID string) amboy.Job
- func NewRestartJasperJob(env evergreen.Environment, h host.Host, ts string) amboy.Job
- func NewSetupHostJob(env evergreen.Environment, h *host.Host, id string) amboy.Job
- func NewSleepSchedulerJob(env evergreen.Environment, ts string) amboy.Job
- func NewSpawnHostTerminationJob(h *host.Host, user, ts string) amboy.Job
- func NewSpawnhostExpirationCheckJob(ts string, h *host.Host) amboy.Job
- func NewSpawnhostExpirationWarningsJob(id string) amboy.Job
- func NewSpawnhostModifyJob(h *host.Host, changes host.HostModifyOptions, ts string) amboy.Job
- func NewSpawnhostStartJob(opts SpawnHostModifyJobOptions) amboy.Job
- func NewSpawnhostStopJob(opts SpawnHostModifyJobOptions, shouldKeepOff bool) amboy.Job
- func NewStaticUpdateSSHKeysJob(h host.Host, id string) amboy.Job
- func NewStrandedTaskCleanupJob(id string) amboy.Job
- func NewSysInfoStatsCollector(id string) amboy.Job
- func NewTaskExecutionMonitorJob(taskID string, ts string) amboy.Job
- func NewTaskExecutionMonitorPopulateJob(id string) amboy.Job
- func NewTaskStatsCollector(id string) amboy.Job
- func NewTasksRestartJob(opts model.RestartOptions) amboy.Job
- func NewUnexpirableSpawnHostStatsJob(ts string) amboy.Job
- func NewUserDataDoneJob(env evergreen.Environment, hostID string, ts time.Time) amboy.Job
- func NewVersionActivationJob(ts string) amboy.Job
- func NewVolumeDeletionJob(ts string, v *host.Volume) amboy.Job
- func NewVolumeExpirationCheckJob(ts string, v *host.Volume, provider string) amboy.Job
- func NewVolumeExpirationWarningsJob(id string) amboy.Job
- func NewVolumeMigrationJob(env evergreen.Environment, volumeID string, modifyOptions cloud.SpawnOptions, ...) amboy.Job
- func NewVolumeUnstickJob(ts string, v *host.Volume) amboy.Job
- func PopulateActivationJobs(part int) amboy.QueueOperation
- func PopulateCacheHistoricalTaskDataJob(part int) amboy.QueueOperation
- func PopulateCheckUnmarkedBlockedTasks() amboy.QueueOperation
- func PopulateCloudCleanupJob(env evergreen.Environment) amboy.QueueOperation
- func PopulateDuplicateTaskCheckJobs() amboy.QueueOperation
- func PopulateHostProvisioningConversionJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostRestartJasperJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateHostStatJobs(parts int) amboy.QueueOperation
- func PopulateLocalQueueJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulatePeriodicBuilds() amboy.QueueOperation
- func PopulatePodHealthCheckJobs() amboy.QueueOperation
- func PopulatePodResourceCleanupJobs() amboy.QueueOperation
- func PopulateReauthorizeUserJobs(env evergreen.Environment) amboy.QueueOperation
- func PopulateSSHKeyUpdates(env evergreen.Environment) amboy.QueueOperation
- func PopulateSpawnhostExpirationCheckJob() amboy.QueueOperation
- func PopulateTaskMonitoring(mins int) amboy.QueueOperation
- func PopulateUnexpirableSpawnHostStatsJob() amboy.QueueOperation
- func PopulateUnstickVolumesJob() amboy.QueueOperation
- func PopulateVolumeExpirationCheckJob() amboy.QueueOperation
- func PopulateVolumeExpirationJob() amboy.QueueOperation
- func ProcessTriggerAliases(ctx context.Context, p *patch.Patch, projectRef *model.ProjectRef, ...) error
- func SchedulePatch(ctx context.Context, env evergreen.Environment, patchId string, ...) (int, error)
- type CloudHostModification
- type DrawdownInfo
- type HostTerminationOptions
- type SpawnHostModifyJobOptions
Constants ¶
const ( // GitHub intent processing errors ProjectDisabled = "project was disabled" PatchingDisabled = "patching was disabled" PatchTaskSyncDisabled = "task sync was disabled for patches" NoTasksOrVariants = "no tasks/variants were configured" NoSyncTasksOrVariants = "no tasks/variants were configured for sync" GitHubInternalError = "GitHub returned an error" InvalidConfig = "config file was invalid: sync with base branch & run `evergreen validate -p <project>`" EmptyConfig = "config file was empty" ProjectFailsValidation = "project fails validation: sync with base branch & run `evergreen validate -p <project>`" OtherErrors = "Evergreen error" MergeBaseTooOld = "merge base is too old" )
const (
BuildTasksAndVariantsError = "building tasks and variants"
)
const (
HostTerminationJobName = "host-termination-job"
)
const (
TSFormat = "2006-01-02.15-04-05"
)
Variables ¶
This section is empty.
Functions ¶
func AddMergeTaskAndVariant ¶
func AddMergeTaskAndVariant(ctx context.Context, patchDoc *patch.Patch, project *model.Project, projectRef *model.ProjectRef, source string) (*model.ParserProject, error)
AddMergeTaskAndVariant adds the merge task, the merge task's dependencies, and the merge build variant to the project and returns the modified parser project.
func CreateAndEnqueueGenerateTasks ¶
func CreateAndEnqueueGenerateTasks(ctx context.Context, env evergreen.Environment, tasks []task.Task, ts string) error
CreateAndEnqueueGenerateTasks enqueues a generate.tasks job for each task. Jobs are segregated by task version into separate queues.
func DisableAndNotifyPoisonedHost ¶
func DisableAndNotifyPoisonedHost(ctx context.Context, env evergreen.Environment, h *host.Host, canDecommission bool, reason string) error
DisableAndNotifyPoisonedHost disables an unhealthy host so that it cannot run any more tasks, clears any tasks that have been stranded on it, and enqueues a job to notify that a host was disabled. If canDecommission is true and the host is an ephemeral host, it will decommission the host instead of quarantine it.
func EnqueueHostCreateJobs ¶
func EnqueueHostReprovisioningJob ¶
func EnqueueHostReprovisioningJob(ctx context.Context, env evergreen.Environment, h *host.Host) error
EnqueueHostReprovisioningJob enqueues a job to reprovision a host. For hosts that do not need to reprovision, this is a no-op.
func EnqueueSpawnHostModificationJob ¶
func EnqueueSpawnHostModificationJob(ctx context.Context, env evergreen.Environment, j amboy.Job) error
EnqueueSpawnHostModificationJob enqueues a job to modify a spawn host.
func EnqueueTerminateHostJob ¶
EnqueueTerminateHostJob enqueues a job to terminate a host.
func GetGithubTokensForTask ¶
GetGithubTokensForTask returns a read-only token for owner/repo associated with the task and a read-only token for each module associated with the task.
func HandlePoisonedHost ¶
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 NewCheckBlockedTasksJob ¶
NewCheckBlockedTasksJob creates a job to audit the dependency state for tasks in the task queues. If it finds any mismatches in dependency state, it fixes them.
func NewCloudCleanupJob ¶
func NewCloudCleanupJob(env evergreen.Environment, ts, provider, region string) amboy.Job
NewCloudCleanupJob returns a job to call the cloud manager's Cleanup method for the given Provider and Region.
func NewCloudHostReadyJob ¶
func NewCloudHostReadyJob(env evergreen.Environment, id string) amboy.Job
NewCloudHostReadyJob checks the cloud instance status for all hosts created by cloud providers when the instance is not yet ready to be used (e.g. the instance is still booting up). Once the cloud instance status is resolved, the job can either transition the host into the next step in the host lifecycle or be appropriately handled if it is in an unrecoverable state.
func NewCloudUpdateSSHKeysJob ¶
NewCloudUpdateSSHKeysJob updates the SSH keys available for a single region in the given cloud provider.
func NewCommitQueueJob ¶
func NewContainerSecretCleanupJob ¶
NewContainerSecretCleanupJob creates a job that cleans up stranded container secrets that are not tracked by Evergreen.
func NewConvertHostToLegacyProvisioningJob ¶
func NewConvertHostToLegacyProvisioningJob(env evergreen.Environment, h host.Host, id string) amboy.Job
NewConvertHostToLegacyProvisioningJob converts a host from a legacy provisioned host to a non-legacy provisioned host.
func NewConvertHostToNewProvisioningJob ¶
func NewConvertHostToNewProvisioningJob(env evergreen.Environment, h host.Host, id string) amboy.Job
NewConvertHostToNewProvisioningJob converts a host from a legacy provisioned host to a non-legacy provisioned host.
func NewCronRemoteHourJob ¶
func NewCronRemoteMinuteJob ¶
func NewDecoHostNotifyJob ¶
func NewDecoHostNotifyJob(env evergreen.Environment, hostID, message string) amboy.Job
NewDecoHostNotifyJob notifies the relevant team that a host has been decommissioned/quarantined and needs investigation.
func NewDuplicateTaskCheckJob ¶
NewDuplicateTaskCheckJob checks for any tasks that appear in multiple primary task queues.
func NewEventNotifierJob ¶
func NewEventNotifierJob(env evergreen.Environment, eventID, ts string) amboy.Job
func NewEventSendJob ¶
func NewGenerateTasksJob ¶
NewGenerateTasksJob returns a job that dynamically updates the project configuration based on the given task's generate.tasks configuration.
func NewGithubStatusRefreshJob ¶
NewGithubStatusRefreshJob is a job that re-sends github statuses to the PR associated with the given patch.
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 NewGithubStatusUpdateJobWithSuccessMessage ¶
func NewGithubStatusUpdateJobWithSuccessMessage(githubContext, owner, repo, ref, description string) amboy.Job
NewGithubStatusUpdateJobWithSuccessMessage creates a job to send a passing status to Github with a message.
func NewHostAllocatorJob ¶
func NewHostCreateJob ¶
func NewHostDrawdownJob ¶
func NewHostDrawdownJob(env evergreen.Environment, drawdownInfo DrawdownInfo, ts string) amboy.Job
func NewHostExecuteJob ¶
func NewHostExecuteJob(env evergreen.Environment, h host.Host, script string, sudo bool, sudoUser string, id string) amboy.Job
NewHostExecuteJob creates a job that executes a script on the host.
func NewHostMonitoringCheckJob ¶
NewHostMonitoringCheckJob checks if an unresponsive host is healthy or not.
func NewHostSetupScriptJob ¶
NewHostSetupScriptJob creates a job that executes the spawn host's setup script after task data is loaded onto the host.
func NewHostStatsCollector ¶
NewHostStatsCollector logs statistics about host utilization per distro to the default grip logger.
func NewHostStatsJob ¶
func NewHostTerminationJob ¶
func NewHostTerminationJob(env evergreen.Environment, h *host.Host, opts HostTerminationOptions) amboy.Job
func NewIdleHostTerminationJob ¶
func NewIdleHostTerminationJob(env evergreen.Environment, id string) amboy.Job
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 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 NewLocalUpdateSSHKeysJob ¶
NewLocalUpdateSSHKeysJob updates the SSH key files locally.
func NewParameterStoreSyncJob ¶
NewParameterStoreSyncJob creates a job that syncs project variables to SSM Parameter Store for any branch project or repo ref that has Parameter Store enabled but whose vars are not already in sync. TODO (DEVPROD-11882): remove this job once the rollout is stable.
func NewPatchIntentProcessor ¶
func NewPatchIntentProcessor(env evergreen.Environment, patchID mgobson.ObjectId, intent patch.Intent) amboy.Job
NewPatchIntentProcessor creates an amboy job to create a patch from the given patch intent. The patch ID is the new ID for the patch to be created, not the patch intent.
func NewPeriodicBuildJob ¶
func NewPodAllocatorJob ¶
NewPodAllocatorJob returns a job to allocate a pod for the given task ID.
func NewPodCreationJob ¶
NewPodCreationJob creates a job that starts the pod in the container service.
func NewPodDefinitionCleanupJob ¶
NewPodDefinitionCleanupJob creates a job that cleans up pod definitions that have not been used recently.
func NewPodDefinitionCreationJob ¶
func NewPodDefinitionCreationJob(ecsConf evergreen.ECSConfig, opts pod.TaskContainerCreationOptions, id string) amboy.Job
NewPodDefinitionCreationJob creates a job that creates a pod definition in preparation for running a pod.
func NewPodHealthCheckJob ¶
NewPodHealthCheckJob creates a job to check the health of the pod according to the cloud provider.
func NewPodStatsCollector ¶
NewPodStatsCollector logs statistics about current pod usage.
func NewPodTerminationJob ¶
NewPodTerminationJob creates a job to terminate the given pod with the given termination reason. Callers should populate the reason with as much context as possible for why the pod is being terminated.
func NewQueueStatsCollector ¶
func NewReauthorizeUserJob ¶
NewReauthorizeUserJob returns a job that attempts to reauthorize the given user.
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 NewRestartJasperJob ¶
NewRestartJasperJob creates a job that restarts an existing Jasper service with new credentials.
func NewSetupHostJob ¶
NewSetupHostJob creates a job that performs any additional provisioning for a host to prepare it to run.
func NewSleepSchedulerJob ¶
func NewSleepSchedulerJob(env evergreen.Environment, ts string) amboy.Job
NewSleepSchedulerJob creates a job to manage unexpirable host sleep schedules.
func NewSpawnHostTerminationJob ¶
NewSpawnHostTerminationJob returns a job to terminate a spawn host.
func NewSpawnhostModifyJob ¶
func NewSpawnhostStartJob ¶
func NewSpawnhostStartJob(opts SpawnHostModifyJobOptions) amboy.Job
NewSpawnhostStartJob returns a job to start a stopped spawn host.
func NewSpawnhostStopJob ¶
func NewSpawnhostStopJob(opts SpawnHostModifyJobOptions, shouldKeepOff bool) amboy.Job
NewSpawnhostStopJob returns a job to stop a running spawn host.
func NewStaticUpdateSSHKeysJob ¶
NewStaticUpdateSSHKeysJob updates the SSH keys for a static host.
func NewStrandedTaskCleanupJob ¶
NewStrandedTaskCleanupJob returns a job to detect and clean up tasks that: - Have been stranded on hosts that are already terminated. - Have stuck dispatching for too long.
func NewSysInfoStatsCollector ¶
NewSysInfoStatsCollector reports basic system information and a report of the go runtime information, as provided by grip.
func NewTaskExecutionMonitorJob ¶
NewTaskExecutionMonitorJob returns a job to check if a running task has failed to send a heartbeat recently. If it has timed out, it is cleaned up.
func NewTaskExecutionMonitorPopulateJob ¶
NewTaskExecutionMonitorPopulateJob returns a job to populate the queue with jobs to check for stale tasks.
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.RestartOptions) amboy.Job
NewTasksRestartJob creates a job to restart failed tasks in a time range
func NewUnexpirableSpawnHostStatsJob ¶
NewUnexpirableSpawnHostStatsJob returns a job to collect estimated statistics on unexpirable spawn host usage.
func NewUserDataDoneJob ¶
NewUserDataDoneJob creates a job that checks if the host is done provisioning with user data (if bootstrapped with user data). This check only applies to spawn hosts, since hosts running agents check into the server to verify their liveliness.
func NewVersionActivationJob ¶
func NewVolumeMigrationJob ¶
func NewVolumeMigrationJob(env evergreen.Environment, volumeID string, modifyOptions cloud.SpawnOptions, ts string) amboy.Job
func PopulateActivationJobs ¶
func PopulateActivationJobs(part int) amboy.QueueOperation
func PopulateCacheHistoricalTaskDataJob ¶
func PopulateCacheHistoricalTaskDataJob(part int) amboy.QueueOperation
func PopulateCheckUnmarkedBlockedTasks ¶
func PopulateCheckUnmarkedBlockedTasks() amboy.QueueOperation
func PopulateCloudCleanupJob ¶
func PopulateCloudCleanupJob(env evergreen.Environment) amboy.QueueOperation
PopulateCloudCleanupJob returns a QueueOperation to enqueue a CloudCleanup job for Fleet in the default EC2 region.
func PopulateDuplicateTaskCheckJobs ¶
func PopulateDuplicateTaskCheckJobs() amboy.QueueOperation
func PopulateHostProvisioningConversionJobs ¶
func PopulateHostProvisioningConversionJobs(env evergreen.Environment) amboy.QueueOperation
PopulateHostProvisioningConversionJobs enqueues the jobs to convert the host provisioning type.
func PopulateHostRestartJasperJobs ¶
func PopulateHostRestartJasperJobs(env evergreen.Environment) amboy.QueueOperation
PopulateHostRestartJasperJobs enqueues the jobs to restart the Jasper service on the host.
func PopulateHostStatJobs ¶
func PopulateHostStatJobs(parts int) amboy.QueueOperation
PopulateHostStatJobs adds host stats jobs.
func PopulateLocalQueueJobs ¶
func PopulateLocalQueueJobs(env evergreen.Environment) amboy.QueueOperation
func PopulatePeriodicBuilds ¶
func PopulatePeriodicBuilds() amboy.QueueOperation
func PopulatePodHealthCheckJobs ¶
func PopulatePodHealthCheckJobs() amboy.QueueOperation
PopulatePodHealthCheckJobs enqueues the jobs to check pods that have not checked in recently to determine if they are still healthy.
func PopulatePodResourceCleanupJobs ¶
func PopulatePodResourceCleanupJobs() amboy.QueueOperation
PopulatePodResourceCleanupJobs populates the jobs to clean up pod resources.
func PopulateReauthorizeUserJobs ¶
func PopulateReauthorizeUserJobs(env evergreen.Environment) amboy.QueueOperation
func PopulateSSHKeyUpdates ¶
func PopulateSSHKeyUpdates(env evergreen.Environment) amboy.QueueOperation
PopulateSSHKeyUpdates updates the remote SSH keys in the cloud providers and static hosts.
func PopulateSpawnhostExpirationCheckJob ¶
func PopulateSpawnhostExpirationCheckJob() amboy.QueueOperation
func PopulateTaskMonitoring ¶
func PopulateTaskMonitoring(mins int) amboy.QueueOperation
func PopulateUnexpirableSpawnHostStatsJob ¶
func PopulateUnexpirableSpawnHostStatsJob() amboy.QueueOperation
PopulateUnexpirableSpawnHostStatsJob populates jobs to collect statistics on unexpirable spawn host usage.
func PopulateUnstickVolumesJob ¶
func PopulateUnstickVolumesJob() amboy.QueueOperation
PopulateUnstickVolumesJob looks for volumes that are marked as attached to terminated hosts in our DB, and enqueues jobs to mark them unattached.
func PopulateVolumeExpirationCheckJob ¶
func PopulateVolumeExpirationCheckJob() amboy.QueueOperation
func PopulateVolumeExpirationJob ¶
func PopulateVolumeExpirationJob() amboy.QueueOperation
func ProcessTriggerAliases ¶
func ProcessTriggerAliases(ctx context.Context, p *patch.Patch, projectRef *model.ProjectRef, env evergreen.Environment, aliasNames []string) error
func SchedulePatch ¶
func SchedulePatch(ctx context.Context, env evergreen.Environment, patchId string, version *model.Version, patchUpdateReq model.PatchUpdate) (int, error)
SchedulePatch schedules a patch. It returns an error and an HTTP status code.
Types ¶
type CloudHostModification ¶
type CloudHostModification struct { HostID string `bson:"host_id" json:"host_id" yaml:"host_id"` UserID string `bson:"user_id" json:"user_id" yaml:"user_id"` Source evergreen.ModifySpawnHostSource `bson:"source" json:"source" yaml:"source"` // contains filtered or unexported fields }
CloudHostModification is a helper to perform cloud manager operations on a single host.
type DrawdownInfo ¶
type HostTerminationOptions ¶
type HostTerminationOptions struct { // TerminateIfBusy, if set, will terminate a host even if it's currently // running a task. Otherwise, if it's running a task, termination will // either refuse to terminate the host or will reset the task. TerminateIfBusy bool `bson:"terminate_if_busy,omitempty" json:"terminate_if_busy,omitempty"` // SkipCloudHostTermination, if set, will skip terminating the host in the // cloud. The host will still be marked terminated in the DB. SkipCloudHostTermination bool `bson:"skip_cloud_host_termination,omitempty" json:"skip_cloud_host_termination,omitempty"` // TerminationReason is the reason that the host was terminated. TerminationReason string `bson:"termination_reason,omitempty" json:"termination_reason,omitempty"` }
HostTerminationOptions represent options to control how a host is terminated.
type SpawnHostModifyJobOptions ¶
type SpawnHostModifyJobOptions struct { Host *host.Host `bson:"-" json:"-" yaml:"-"` Source evergreen.ModifySpawnHostSource `bson:"-" json:"-" yaml:"-"` User string `bson:"-" json:"-" yaml:"-"` Timestamp string `bson:"-" json:"-" yaml:"-"` WaitUntil time.Time `bson:"-" json:"-" yaml:"-"` }
SpawnHostModifyJobOptions represents common options for creating spawn host modification jobs.
Source Files ¶
- building_container_image.go
- cache_historical_task_data.go
- check_blocked_tasks.go
- cloud_cleanup.go
- commit_queue.go
- container_secret_cleanup.go
- crons.go
- crons_remote_fifteen_minute.go
- crons_remote_fifteen_second.go
- crons_remote_five_minute.go
- crons_remote_hour.go
- crons_remote_minute.go
- deco_host_notify.go
- doc.go
- duplicate_task_check.go
- event_notifier.go
- event_send.go
- generate_tasks.go
- github_status_api.go
- github_status_refresh.go
- host_allocator.go
- host_drawdown.go
- host_execute.go
- host_monitoring_check.go
- host_monitoring_container_state.go
- host_monitoring_idle_termination.go
- host_monitoring_last_container_finish_time.go
- host_monitoring_parent_decommission.go
- host_setup_script.go
- host_stats.go
- host_status.go
- host_termination.go
- jasper_cleanup.go
- migrate_volume.go
- oldest_image_removal.go
- otel.go
- parameter_store_sync.go
- patch_intent.go
- periodic_builds.go
- pod_allocator.go
- pod_creation.go
- pod_definition_cleanup.go
- pod_definition_creation.go
- pod_health_check.go
- pod_termination.go
- provisioning_agent_deploy.go
- provisioning_agent_monitor_deploy.go
- provisioning_convert_host_to_legacy.go
- provisioning_convert_host_to_new.go
- provisioning_create_host.go
- provisioning_restart_jasper.go
- provisioning_setup_host.go
- provisioning_user_data_done.go
- reauthorize_user.go
- repotracker.go
- schedule_patch.go
- scheduler.go
- scheduler_alias.go
- sleep_scheduler.go
- spawnhost_expiration_check.go
- spawnhost_expiration_warning.go
- spawnhost_modify.go
- spawnhost_start.go
- spawnhost_stop.go
- spawnhost_terminate.go
- ssh_keys_update_cloud.go
- ssh_keys_update_local.go
- ssh_keys_update_static.go
- stats_amboy.go
- stats_host.go
- stats_notifications.go
- stats_pod.go
- stats_queue.go
- stats_sysinfo.go
- stats_task.go
- task_monitor_execution_timeout.go
- task_stranded_cleanup.go
- tasks_restart.go
- unexpirable_spawnhost_stats.go
- util.go
- version_activation_catchup.go
- volume_deletion_job.go
- volume_expiration_check.go
- volume_expiration_warning.go
- volume_unstick_job.go