scheduler

package
v0.0.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	FederatedDeployment = "FederatedDeployment"
	Deployment          = "Deployment"
	FederatedReplicaSet = "FederatedReplicaSet"
	ReplicaSet          = "ReplicaSet"
	Pod                 = "Pod"
)

Variables

This section is empty.

Functions

func PlacementUpdateNeeded

func PlacementUpdateNeeded(names, newNames []string) bool

These assume that there would be no duplicate clusternames

func ReplicaSetOverrideUpdateNeeded

func ReplicaSetOverrideUpdateNeeded(overrideSpec fedv1a1.FederatedReplicaSetOverrideSpec, result map[string]int64) bool

This assumes that there would be no duplicate clusternames

Types

type FederatedDeploymentAdapter

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

func (*FederatedDeploymentAdapter) OverrideList

func (d *FederatedDeploymentAdapter) OverrideList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedDeploymentAdapter) OverrideObject

func (d *FederatedDeploymentAdapter) OverrideObject() pkgruntime.Object

func (*FederatedDeploymentAdapter) OverrideWatch

func (d *FederatedDeploymentAdapter) OverrideWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*FederatedDeploymentAdapter) PlacementList

func (d *FederatedDeploymentAdapter) PlacementList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedDeploymentAdapter) PlacementObject

func (d *FederatedDeploymentAdapter) PlacementObject() pkgruntime.Object

func (*FederatedDeploymentAdapter) PlacementWatch

func (d *FederatedDeploymentAdapter) PlacementWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*FederatedDeploymentAdapter) ReconcileOverride

func (d *FederatedDeploymentAdapter) ReconcileOverride(fedClient fedclientset.Interface, qualifiedName util.QualifiedName, result map[string]int64) error

func (*FederatedDeploymentAdapter) ReconcilePlacement

func (d *FederatedDeploymentAdapter) ReconcilePlacement(fedClient fedclientset.Interface, qualifiedName util.QualifiedName, newClusterNames []string) error

TODO: Below methods can also be made common among FederatedDeployment and FederatedReplicaset using reflect if really needed.

func (*FederatedDeploymentAdapter) TemplateList

func (d *FederatedDeploymentAdapter) TemplateList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedDeploymentAdapter) TemplateObject

func (d *FederatedDeploymentAdapter) TemplateObject() pkgruntime.Object

func (*FederatedDeploymentAdapter) TemplateWatch

func (d *FederatedDeploymentAdapter) TemplateWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

type FederatedReplicaSetAdapter

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

func (*FederatedReplicaSetAdapter) OverrideList

func (d *FederatedReplicaSetAdapter) OverrideList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedReplicaSetAdapter) OverrideObject

func (d *FederatedReplicaSetAdapter) OverrideObject() pkgruntime.Object

func (*FederatedReplicaSetAdapter) OverrideWatch

func (d *FederatedReplicaSetAdapter) OverrideWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*FederatedReplicaSetAdapter) PlacementList

func (d *FederatedReplicaSetAdapter) PlacementList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedReplicaSetAdapter) PlacementObject

func (d *FederatedReplicaSetAdapter) PlacementObject() pkgruntime.Object

func (*FederatedReplicaSetAdapter) PlacementWatch

func (d *FederatedReplicaSetAdapter) PlacementWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

func (*FederatedReplicaSetAdapter) ReconcileOverride

func (d *FederatedReplicaSetAdapter) ReconcileOverride(fedClient fedclientset.Interface, qualifiedName util.QualifiedName, result map[string]int64) error

func (*FederatedReplicaSetAdapter) ReconcilePlacement

func (d *FederatedReplicaSetAdapter) ReconcilePlacement(fedClient fedclientset.Interface, qualifiedName util.QualifiedName, newClusterNames []string) error

TODO: Below methods can also be made common among FederatedReplicaSet and FederatedDeployment using reflect if really needed.

func (*FederatedReplicaSetAdapter) TemplateList

func (d *FederatedReplicaSetAdapter) TemplateList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)

func (*FederatedReplicaSetAdapter) TemplateObject

func (d *FederatedReplicaSetAdapter) TemplateObject() pkgruntime.Object

func (*FederatedReplicaSetAdapter) TemplateWatch

func (d *FederatedReplicaSetAdapter) TemplateWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

type Plugin

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

func NewPlugin

func NewPlugin(adapter SchedulerAdapter, apiResource *metav1.APIResource, fedClient fedclientset.Interface, kubeClient kubeclientset.Interface, crClient crclientset.Interface, 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 Scheduler

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

func NewReplicaScheduler

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

func (*Scheduler) GetSchedulingResult

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

func (*Scheduler) HasSynced

func (s *Scheduler) HasSynced() bool

func (*Scheduler) Reconcile

func (s *Scheduler) Reconcile(rsp *fedschedulingv1a1.ReplicaSchedulingPreference, qualifiedName QualifiedName) ReconciliationStatus

func (*Scheduler) ReconcileFederationTargets

func (s *Scheduler) ReconcileFederationTargets(fedClient fedclientset.Interface, qualifiedName QualifiedName, kind string, result map[string]int64) error

func (*Scheduler) Start

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

func (*Scheduler) Stop

func (s *Scheduler) Stop()

type SchedulerAdapter

type SchedulerAdapter interface {
	TemplateObject() pkgruntime.Object
	TemplateList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
	TemplateWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

	OverrideObject() pkgruntime.Object
	OverrideList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
	OverrideWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

	PlacementObject() pkgruntime.Object
	PlacementList(namespace string, options metav1.ListOptions) (pkgruntime.Object, error)
	PlacementWatch(namespace string, options metav1.ListOptions) (watch.Interface, error)

	ReconcilePlacement(fedClient fedclientset.Interface, qualifiedName QualifiedName, newClusterNames []string) error
	ReconcileOverride(fedClient fedclientset.Interface, qualifiedName QualifiedName, result map[string]int64) error
}

func NewFederatedDeploymentAdapter

func NewFederatedDeploymentAdapter(fedClient fedclientset.Interface) SchedulerAdapter

func NewFederatedReplicaSetAdapter

func NewFederatedReplicaSetAdapter(fedClient fedclientset.Interface) SchedulerAdapter

Jump to

Keyboard shortcuts

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