schedulingtypes

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Dec 10, 2018 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RSPKind = "ReplicaSchedulingPreference"
)

Variables

View Source
var PodResource = &metav1.APIResource{
	Name:       GetPluralName(Pod),
	Group:      corev1.SchemeGroupVersion.Group,
	Version:    corev1.SchemeGroupVersion.Version,
	Kind:       Pod,
	Namespaced: true,
}

Functions

func GetPluralName

func GetPluralName(name string) string

func GetResourceKind

func GetResourceKind(obj pkgruntime.Object) string

func OverrideUpdateNeeded added in v0.0.4

func OverrideUpdateNeeded(overridesMap util.OverridesMap, result map[string]int64) bool

func PlacementUpdateNeeded added in v0.0.4

func PlacementUpdateNeeded(names, newNames []string) bool

These assume that there would be no duplicate clusternames

func RegisterSchedulingType

func RegisterSchedulingType(kind string, schedulingType SchedulingType)

func SchedulingTypes

func SchedulingTypes() map[string]SchedulingType

Types

type Plugin

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

func NewPlugin

func NewPlugin(controllerConfig *util.ControllerConfig, eventHandlers SchedulerEventHandlers, typeConfig typeconfig.Interface) (*Plugin, error)

func (*Plugin) HasSynced

func (p *Plugin) HasSynced() bool

func (*Plugin) ReconcileOverride added in v0.0.4

func (p *Plugin) ReconcileOverride(qualifiedName util.QualifiedName, result map[string]int64) error

func (*Plugin) ReconcilePlacement added in v0.0.4

func (p *Plugin) ReconcilePlacement(qualifiedName util.QualifiedName, newClusterNames []string) error

func (*Plugin) Start

func (p *Plugin) Start(stopChan <-chan struct{})

func (*Plugin) Stop

func (p *Plugin) Stop()

func (*Plugin) TemplateExists

func (p *Plugin) TemplateExists(key string) bool

type ReplicaScheduler

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

func (*ReplicaScheduler) FedList

func (s *ReplicaScheduler) FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*ReplicaScheduler) FedWatch

func (s *ReplicaScheduler) FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*ReplicaScheduler) GetSchedulingResult

func (s *ReplicaScheduler) GetSchedulingResult(rsp *fedschedulingv1a1.ReplicaSchedulingPreference, qualifiedName QualifiedName, clusterNames []string) (map[string]int64, error)

func (*ReplicaScheduler) HasSynced

func (s *ReplicaScheduler) HasSynced() bool

func (*ReplicaScheduler) Kind

func (s *ReplicaScheduler) Kind() string

func (*ReplicaScheduler) ObjectType

func (s *ReplicaScheduler) ObjectType() pkgruntime.Object

func (*ReplicaScheduler) Reconcile

func (s *ReplicaScheduler) Reconcile(obj pkgruntime.Object, qualifiedName QualifiedName) ReconciliationStatus

func (*ReplicaScheduler) ReconcileFederationTargets

func (s *ReplicaScheduler) ReconcileFederationTargets(qualifiedName QualifiedName, kind string, result map[string]int64) error

func (*ReplicaScheduler) Start

func (s *ReplicaScheduler) Start(stopChan <-chan struct{})

func (*ReplicaScheduler) StartPlugin added in v0.0.3

func (s *ReplicaScheduler) StartPlugin(typeConfig typeconfig.Interface, stopChan <-chan struct{}) error

func (*ReplicaScheduler) Stop

func (s *ReplicaScheduler) Stop()

type Scheduler

type Scheduler interface {
	Kind() string
	ObjectType() pkgruntime.Object
	FedList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
	FedWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

	Start(stopChan <-chan struct{})
	HasSynced() bool
	Stop()
	Reconcile(obj pkgruntime.Object, qualifiedName QualifiedName) ReconciliationStatus

	StartPlugin(typeConfig typeconfig.Interface, stopChan <-chan struct{}) error
}

func NewReplicaScheduler

func NewReplicaScheduler(controllerConfig *ControllerConfig, eventHandlers SchedulerEventHandlers) (Scheduler, error)

type SchedulerEventHandlers added in v0.0.4

type SchedulerEventHandlers struct {
	FederationEventHandler   func(pkgruntime.Object)
	ClusterEventHandler      func(pkgruntime.Object)
	ClusterLifecycleHandlers *ClusterLifecycleHandlerFuncs
}

type SchedulerFactory

type SchedulerFactory func(controllerConfig *ControllerConfig, eventHandlers SchedulerEventHandlers) (Scheduler, error)

type SchedulingType

type SchedulingType struct {
	Kind             string
	SchedulerFactory SchedulerFactory
}

func GetSchedulingType added in v0.0.4

func GetSchedulingType(kind string) *SchedulingType

Jump to

Keyboard shortcuts

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