controller

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2023 License: Apache-2.0 Imports: 55 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ErrResourceExists is used as part of the Event 'reason' when an MPIJob
	// fails to sync due to dependent resources of the same name already
	// existing.
	ErrResourceExists = "ErrResourceExists"

	// MessageResourceExists is the message used for Events when a resource
	// fails to sync due to dependent resources already existing.
	MessageResourceExists = "Resource %q of Kind %q already exists and is not managed by MPIJob"

	// ValidationError is used as part of the Event 'reason' when failed to
	// validate an MPIJob.
	ValidationError = "ValidationError"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type MPIJobController

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

MPIJobController is the controller implementation for MPIJob resources.

func NewMPIJobController

func NewMPIJobController(
	kubeClient kubernetes.Interface,
	kubeflowClient clientset.Interface,
	podGroupCtrl PodGroupControl,
	configMapInformer coreinformers.ConfigMapInformer,
	secretInformer coreinformers.SecretInformer,
	serviceInformer coreinformers.ServiceInformer,
	jobInformer batchinformers.JobInformer,
	podInformer coreinformers.PodInformer,
	priorityClassInformer schedulinginformers.PriorityClassInformer,
	mpiJobInformer informers.MPIJobInformer) *MPIJobController

NewMPIJobController returns a new MPIJob controller.

func NewMPIJobControllerWithClock

func NewMPIJobControllerWithClock(
	kubeClient kubernetes.Interface,
	kubeflowClient clientset.Interface,
	podGroupCtrl PodGroupControl,
	configMapInformer coreinformers.ConfigMapInformer,
	secretInformer coreinformers.SecretInformer,
	serviceInformer coreinformers.ServiceInformer,
	jobInformer batchinformers.JobInformer,
	podInformer coreinformers.PodInformer,
	priorityClassInformer schedulinginformers.PriorityClassInformer,
	mpiJobInformer informers.MPIJobInformer,
	clock clock.WithTicker) *MPIJobController

NewMPIJobControllerWithClock returns a new MPIJob controller.

func (*MPIJobController) Run

func (c *MPIJobController) Run(threadiness int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the work queue and wait for workers to finish processing their current work items.

type PodGroupControl

type PodGroupControl interface {
	// StartInformerFactory will start the podGroup informer.
	StartInformerFactory(stopCh <-chan struct{})
	// PodGroupSharedIndexInformer will return Indexer based on SharedInformer for the podGroup.
	PodGroupSharedIndexInformer() cache.SharedIndexInformer
	// contains filtered or unexported methods
}

type SchedulerPluginsCtrl

type SchedulerPluginsCtrl struct {
	Client              schedclientset.Interface
	InformerFactory     schedinformers.SharedInformerFactory
	PodGroupInformer    schedinformer.PodGroupInformer
	PriorityClassLister schedulinglisters.PriorityClassLister
	// contains filtered or unexported fields
}

SchedulerPluginsCtrl is the implementation fo PodGroupControl with scheduler-plugins.

func NewSchedulerPluginsCtrl

func NewSchedulerPluginsCtrl(c schedclientset.Interface, watchNamespace, schedulerName string) *SchedulerPluginsCtrl

func (*SchedulerPluginsCtrl) PodGroupSharedIndexInformer

func (s *SchedulerPluginsCtrl) PodGroupSharedIndexInformer() cache.SharedIndexInformer

func (*SchedulerPluginsCtrl) StartInformerFactory

func (s *SchedulerPluginsCtrl) StartInformerFactory(stopCh <-chan struct{})

type VolcanoCtrl

type VolcanoCtrl struct {
	Client           volcanoclient.Interface
	InformerFactory  volcanoinformers.SharedInformerFactory
	PodGroupInformer volcanopodgroupinformer.PodGroupInformer
	// contains filtered or unexported fields
}

VolcanoCtrl is the implementation fo PodGroupControl with volcano.

func NewVolcanoCtrl

func NewVolcanoCtrl(c volcanoclient.Interface, watchNamespace string) *VolcanoCtrl

func (*VolcanoCtrl) PodGroupSharedIndexInformer

func (v *VolcanoCtrl) PodGroupSharedIndexInformer() cache.SharedIndexInformer

func (*VolcanoCtrl) StartInformerFactory

func (v *VolcanoCtrl) StartInformerFactory(stopCh <-chan struct{})

Jump to

Keyboard shortcuts

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