service

package
v0.1.38 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 7, 2021 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClusterAllocationService

type ClusterAllocationService struct {
	// contains filtered or unexported fields
}

func NewClusterAllocationService

func NewClusterAllocationService(
	clusterContext context.ClusterContext,
	eventReporter reporter.EventReporter,
	leaseService LeaseService,
	utilisationService UtilisationService,
	podDefaults *configuration.PodDefaults) *ClusterAllocationService

func (*ClusterAllocationService) AllocateSpareClusterCapacity

func (allocationService *ClusterAllocationService) AllocateSpareClusterCapacity()

type ClusterAvailableCapacityReport added in v0.1.6

type ClusterAvailableCapacityReport struct {
	AvailableCapacity *common.ComputeResources
	Nodes             []api.NodeInfo
}

type ClusterUtilisationService

type ClusterUtilisationService struct {
	// contains filtered or unexported fields
}

func NewClusterUtilisationService

func NewClusterUtilisationService(
	clusterContext context.ClusterContext,
	queueUtilisationService PodUtilisationService,
	usageClient api.UsageClient,
	trackedNodeLabels []string,
	toleratedTaints []string) *ClusterUtilisationService

func (*ClusterUtilisationService) GetAllAvailableProcessingNodes added in v0.0.11

func (clusterUtilisationService *ClusterUtilisationService) GetAllAvailableProcessingNodes() ([]*v1.Node, error)

func (*ClusterUtilisationService) GetAvailableClusterCapacity

func (clusterUtilisationService *ClusterUtilisationService) GetAvailableClusterCapacity() (*ClusterAvailableCapacityReport, error)

func (*ClusterUtilisationService) GetTotalAllocatableClusterCapacity added in v0.1.2

func (clusterUtilisationService *ClusterUtilisationService) GetTotalAllocatableClusterCapacity() (*common.ComputeResources, error)

func (*ClusterUtilisationService) ReportClusterUtilisation

func (clusterUtilisationService *ClusterUtilisationService) ReportClusterUtilisation()

type IngressCleanupService added in v0.1.34

type IngressCleanupService struct {
	// contains filtered or unexported fields
}

func RunIngressCleanup added in v0.1.34

func RunIngressCleanup(clusterContext clusterContext.ClusterContext) *IngressCleanupService

type JobLeaseService

type JobLeaseService struct {
	// contains filtered or unexported fields
}

func NewJobLeaseService

func NewJobLeaseService(
	clusterContext context2.ClusterContext,
	jobContext job_context.JobContext,
	eventReporter reporter.EventReporter,
	queueClient api.AggregatedQueueClient,
	minimumPodAge time.Duration,
	failedPodExpiry time.Duration,
	minimumJobSize common.ComputeResources) *JobLeaseService

func (*JobLeaseService) ManageJobLeases

func (jobLeaseService *JobLeaseService) ManageJobLeases()

func (*JobLeaseService) ReportDone

func (jobLeaseService *JobLeaseService) ReportDone(jobIds []string) error

func (*JobLeaseService) RequestJobLeases

func (jobLeaseService *JobLeaseService) RequestJobLeases(availableResource *common.ComputeResources, nodes []api.NodeInfo, leasedResourceByQueue map[string]common.ComputeResources) ([]*api.Job, error)

func (*JobLeaseService) ReturnLease

func (jobLeaseService *JobLeaseService) ReturnLease(pod *v1.Pod) error

type LeaseService

type LeaseService interface {
	ReturnLease(pod *v1.Pod) error
	RequestJobLeases(availableResource *common.ComputeResources, nodes []api.NodeInfo, leasedResourceByQueue map[string]common.ComputeResources) ([]*api.Job, error)
	ReportDone(jobIds []string) error
}

type MetricsServerPodUtilisationService added in v0.1.2

type MetricsServerPodUtilisationService struct {
	// contains filtered or unexported fields
}

func NewMetricsServerQueueUtilisationService added in v0.1.2

func NewMetricsServerQueueUtilisationService(clusterContext context.ClusterContext) *MetricsServerPodUtilisationService

func (*MetricsServerPodUtilisationService) GetPodUtilisation added in v0.1.2

func (*MetricsServerPodUtilisationService) RefreshUtilisationData added in v0.1.2

func (q *MetricsServerPodUtilisationService) RefreshUtilisationData()

type PodUtilisationService added in v0.1.2

type PodUtilisationService interface {
	GetPodUtilisation(pod *v1.Pod) common.ComputeResources
}

type StuckPodDetector

type StuckPodDetector struct {
	// contains filtered or unexported fields
}

func NewPodProgressMonitorService

func NewPodProgressMonitorService(
	clusterContext context.ClusterContext,
	jobContext job_context.JobContext,
	eventReporter reporter.EventReporter,
	jobLeaseService LeaseService,
	stuckPodExpiry time.Duration) *StuckPodDetector

func (*StuckPodDetector) HandleStuckPods

func (d *StuckPodDetector) HandleStuckPods()

type UsageMetric added in v0.1.2

type UsageMetric struct {
	ResourceUsed common.ComputeResources
}

func (*UsageMetric) DeepCopy added in v0.1.2

func (u *UsageMetric) DeepCopy() *UsageMetric

type UtilisationEventReporter added in v0.1.9

type UtilisationEventReporter struct {
	// contains filtered or unexported fields
}

func NewUtilisationEventReporter added in v0.1.9

func NewUtilisationEventReporter(
	clusterContext clusterContext.ClusterContext,
	podUtilisation PodUtilisationService,
	eventReporter reporter.EventReporter,
	reportingPeriod time.Duration,
) *UtilisationEventReporter

func (*UtilisationEventReporter) ReportUtilisationEvents added in v0.1.9

func (r *UtilisationEventReporter) ReportUtilisationEvents()

type UtilisationService

type UtilisationService interface {
	GetAvailableClusterCapacity() (*ClusterAvailableCapacityReport, error)
	GetTotalAllocatableClusterCapacity() (*common.ComputeResources, error)
	GetAllAvailableProcessingNodes() ([]*v1.Node, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL