scheduler

package
v0.0.0-...-a7f0406 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2020 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package scheduler implements the Kubernetes Mesos scheduler.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MockScheduler

type MockScheduler struct {
	sync.RWMutex
	mock.Mock
}

MockScheduler implements SchedulerApi

func (*MockScheduler) KillTask

func (m *MockScheduler) KillTask(taskId string) error

func (*MockScheduler) LaunchTask

func (m *MockScheduler) LaunchTask(task *podtask.T) error

func (*MockScheduler) Offers

func (m *MockScheduler) Offers() (f offers.Registry)

func (*MockScheduler) Reconcile

func (m *MockScheduler) Reconcile(task *podtask.T)

func (*MockScheduler) Run

func (m *MockScheduler) Run(done <-chan struct{})

func (*MockScheduler) Tasks

func (m *MockScheduler) Tasks() (f podtask.Registry)

type Scheduler

type Scheduler interface {
	Tasks() podtask.Registry
	sync.Locker // synchronize changes to tasks, i.e. lock, get task, change task, store task, unlock

	Offers() offers.Registry
	Reconcile(t *podtask.T)
	KillTask(id string) error
	LaunchTask(t *podtask.T) error
	Run(done <-chan struct{})
}

Scheduler abstracts everything other components of the scheduler need to access from eachother

Directories

Path Synopsis
Package components implements independent aspects of the scheduler which do not use Framework or Scheduler internals, but rely solely on the Scheduler interface.
Package components implements independent aspects of the scheduler which do not use Framework or Scheduler internals, but rely solely on the Scheduler interface.
algorithm
Package algorithm implements the SchedulerAlgorithm
Package algorithm implements the SchedulerAlgorithm
algorithm/podschedulers
Package podschedulers defines an interface (w/ implementations) for matching pods against offers.
Package podschedulers defines an interface (w/ implementations) for matching pods against offers.
binder
Package binder implements the Binder which launched a task and let the executor do the actual binding.
Package binder implements the Binder which launched a task and let the executor do the actual binding.
controller
Package controller implements the scheduling controller which waits for pod events from the queuer (i.e.
Package controller implements the scheduling controller which waits for pod events from the queuer (i.e.
deleter
Package deleter implements the deleter which listens for pod DELETE events from the apiserver and kills tasks for deleted pods.
Package deleter implements the deleter which listens for pod DELETE events from the apiserver and kills tasks for deleted pods.
errorhandler
Package errorhandler implements the ErrorHandler which handles scheduer error and possibly requeue pods for scheduling again.
Package errorhandler implements the ErrorHandler which handles scheduer error and possibly requeue pods for scheduling again.
framework
Package framework implements the Mesos scheduler.
Package framework implements the Mesos scheduler.
podreconciler
Package podreconciler implements pod reconcilation of pods which failed to launch, i.e.
Package podreconciler implements pod reconcilation of pods which failed to launch, i.e.
tasksreconciler
Package taskreconciler implement Mesos task reconcilation.
Package taskreconciler implement Mesos task reconcilation.
Package config provides mechanisms for low-level scheduler tuning.
Package config provides mechanisms for low-level scheduler tuning.
Package constraint exposes Marathon-like constraints for scheduling pods.
Package constraint exposes Marathon-like constraints for scheduling pods.
Package errors contains all scheduler wide used errors
Package errors contains all scheduler wide used errors
Package executorinfo provides a lru-based executor info registry as well as some utility methods.
Package executorinfo provides a lru-based executor info registry as well as some utility methods.
Package ha encapsulates high-availability scheduler concerns.
Package ha encapsulates high-availability scheduler concerns.
Package integration implements integration tests.
Package integration implements integration tests.
Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods.
Package meta defines framework constants used as keys in k8s annotations that are attached to k8s pods.
Package metrics defines and exposes instrumentation metrics of the scheduler.
Package metrics defines and exposes instrumentation metrics of the scheduler.
Package podtask maps Kubernetes pods to Mesos tasks.
Package podtask maps Kubernetes pods to Mesos tasks.
Package queuer implements a Pod Queuer which stores and yields pods waiting being scheduled.
Package queuer implements a Pod Queuer which stores and yields pods waiting being scheduled.
Package resource contains the Mesos scheduler specific resource functions
Package resource contains the Mesos scheduler specific resource functions
Package service contains the cmd/k8sm-scheduler glue code
Package service contains the cmd/k8sm-scheduler glue code

Jump to

Keyboard shortcuts

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