schedulingtypes

package
v0.0.3 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	RSPKind = "ReplicaSchedulingPreference"
)

Variables

View Source
var (
	FederatedDeployment = GetResourceKind(&fedv1a1.FederatedDeployment{})
	FederatedReplicaSet = GetResourceKind(&fedv1a1.FederatedReplicaSet{})
	Pod                 = GetResourceKind(&corev1.Pod{})
)
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 RegisterSchedulingType

func RegisterSchedulingType(kind string, factory SchedulerFactory)

func SchedulingTypes

func SchedulingTypes() map[string]SchedulingType

Types

type Plugin

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

func NewPlugin

func NewPlugin(adapter adapters.Adapter, apiResource *metav1.APIResource, fedClient fedclientset.Interface, kubeClient kubeclientset.Interface, crClient crclientset.Interface, namespaces util.FederationNamespaces, federationEventHandler, clusterEventHandler func(pkgruntime.Object), handlers *util.ClusterLifecycleHandlerFuncs) *Plugin

func (*Plugin) HasSynced

func (p *Plugin) HasSynced() bool

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(fedClient fedclientset.Interface, 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(kind string, apiResource *metav1.APIResource, 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(kind string, apiResource *metav1.APIResource, stopChan <-chan struct{}) error
}

func NewReplicaScheduler

func NewReplicaScheduler(fedClient fedclientset.Interface, kubeClient kubeclientset.Interface, crClient crclientset.Interface, namespaces FederationNamespaces, federationEventHandler, clusterEventHandler func(pkgruntime.Object), handlers *ClusterLifecycleHandlerFuncs) Scheduler

type SchedulerFactory

type SchedulerFactory func(fedClient fedclientset.Interface, kubeClient kubeclientset.Interface, crClient crclientset.Interface, namespaces FederationNamespaces, federationEventHandler, clusterEventHandler func(pkgruntime.Object), handlers *ClusterLifecycleHandlerFuncs) Scheduler

func GetSchedulerFactory

func GetSchedulerFactory(typ string) SchedulerFactory

type SchedulingType

type SchedulingType struct {
	Kind             string
	SchedulerFactory SchedulerFactory
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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