Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ClusterInstallationSupervisor ¶
type ClusterInstallationSupervisor struct {
// contains filtered or unexported fields
}
ClusterInstallationSupervisor finds cluster installations pending work and effects the required changes.
The degree of parallelism is controlled by a weighted semaphore, intended to be shared with other clients needing to coordinate background jobs.
func NewClusterInstallationSupervisor ¶
func NewClusterInstallationSupervisor(store clusterInstallationStore, clusterInstallationProvisioner clusterInstallationProvisioner, aws aws.AWS, instanceID string, logger log.FieldLogger) *ClusterInstallationSupervisor
NewClusterInstallationSupervisor creates a new ClusterInstallationSupervisor.
func (*ClusterInstallationSupervisor) Do ¶
func (s *ClusterInstallationSupervisor) Do() error
Do looks for work to be done on any pending cluster installations and attempts to schedule the required work.
func (*ClusterInstallationSupervisor) Shutdown ¶ added in v0.20.0
func (s *ClusterInstallationSupervisor) Shutdown()
Shutdown performs graceful shutdown tasks for the cluster installation supervisor.
func (*ClusterInstallationSupervisor) Supervise ¶
func (s *ClusterInstallationSupervisor) Supervise(clusterInstallation *model.ClusterInstallation)
Supervise schedules the required work on the given cluster installation.
type ClusterSupervisor ¶
type ClusterSupervisor struct {
// contains filtered or unexported fields
}
ClusterSupervisor finds clusters pending work and effects the required changes.
The degree of parallelism is controlled by a weighted semaphore, intended to be shared with other clients needing to coordinate background jobs.
func NewClusterSupervisor ¶
func NewClusterSupervisor(store clusterStore, clusterProvisioner clusterProvisioner, aws aws.AWS, instanceID string, logger log.FieldLogger) *ClusterSupervisor
NewClusterSupervisor creates a new ClusterSupervisor.
func (*ClusterSupervisor) Do ¶
func (s *ClusterSupervisor) Do() error
Do looks for work to be done on any pending clusters and attempts to schedule the required work.
func (*ClusterSupervisor) Shutdown ¶ added in v0.20.0
func (s *ClusterSupervisor) Shutdown()
Shutdown performs graceful shutdown tasks for the cluster supervisor.
func (*ClusterSupervisor) Supervise ¶
func (s *ClusterSupervisor) Supervise(cluster *model.Cluster)
Supervise schedules the required work on the given cluster.
type GroupSupervisor ¶ added in v0.18.0
type GroupSupervisor struct {
// contains filtered or unexported fields
}
GroupSupervisor finds installations belonging to groups that need to have their configuration reconciled to match a new group configuration setting.
The degree of parallelism is controlled by a weighted semaphore, intended to be shared with other clients needing to coordinate background jobs.
func NewGroupSupervisor ¶ added in v0.18.0
func NewGroupSupervisor(store groupStore, instanceID string, logger log.FieldLogger) *GroupSupervisor
NewGroupSupervisor creates a new GroupSupervisor.
func (*GroupSupervisor) Do ¶ added in v0.18.0
func (s *GroupSupervisor) Do() error
Do looks for work to be done on any pending groups and attempts to schedule the required work.
func (*GroupSupervisor) Shutdown ¶ added in v0.20.0
func (s *GroupSupervisor) Shutdown()
Shutdown performs graceful shutdown tasks for the group supervisor.
func (*GroupSupervisor) Supervise ¶ added in v0.18.0
func (s *GroupSupervisor) Supervise(group *model.Group)
Supervise schedules the required work on the given group.
type InstallationSupervisor ¶
type InstallationSupervisor struct {
// contains filtered or unexported fields
}
InstallationSupervisor finds installations pending work and effects the required changes.
The degree of parallelism is controlled by a weighted semaphore, intended to be shared with other clients needing to coordinate background jobs.
func NewInstallationSupervisor ¶
func NewInstallationSupervisor(store installationStore, installationProvisioner installationProvisioner, aws aws.AWS, instanceID string, keepDatabaseData, keepFilestoreData bool, scheduling InstallationSupervisorSchedulingOptions, resourceUtil *utils.ResourceUtil, logger log.FieldLogger, metrics *metrics.CloudMetrics) *InstallationSupervisor
NewInstallationSupervisor creates a new InstallationSupervisor.
func (*InstallationSupervisor) Do ¶
func (s *InstallationSupervisor) Do() error
Do looks for work to be done on any pending installations and attempts to schedule the required work.
func (*InstallationSupervisor) Shutdown ¶ added in v0.20.0
func (s *InstallationSupervisor) Shutdown()
Shutdown performs graceful shutdown tasks for the installation supervisor.
func (*InstallationSupervisor) Supervise ¶
func (s *InstallationSupervisor) Supervise(installation *model.Installation)
Supervise schedules the required work on the given installation.
type InstallationSupervisorSchedulingOptions ¶ added in v0.35.0
type InstallationSupervisorSchedulingOptions struct {
// contains filtered or unexported fields
}
InstallationSupervisorSchedulingOptions are the various options that control how installation scheduling occurs.
func NewInstallationSupervisorSchedulingOptions ¶ added in v0.35.0
func NewInstallationSupervisorSchedulingOptions(balanceInstallations bool, clusterResourceThreshold, clusterResourceThresholdScaleValue int) InstallationSupervisorSchedulingOptions
NewInstallationSupervisorSchedulingOptions creates a new InstallationSupervisorSchedulingOptions.
type MultiDoer ¶
type MultiDoer []Doer
MultiDoer is a slice of doers.
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler schedules a doer for periodic, serial execution.
func NewScheduler ¶
NewScheduler creates a new scheduler.
If the period is zero, the scheduler is never run, even if manually run. Otherwise, the period specifies how long to wait after its last successful execution.
func (*Scheduler) Close ¶
Close waits for any active doer to finish, terminates the main thread of the scheduler, and ensures the doer is no longer invoked.