Documentation ¶
Index ¶
- func GetPluginArgs() *factory.PluginFactoryArgs
- type PluginFactoryArgsProvider
- type SchedulerCache
- func (cache *SchedulerCache) AddNode(node *v1.Node)
- func (cache *SchedulerCache) AddPod(pod *v1.Pod) error
- func (cache *SchedulerCache) AssumePod(pod *v1.Pod) error
- func (cache *SchedulerCache) FilteredList(podFilter algorithm.PodFilter, selector labels.Selector) ([]*v1.Pod, error)
- func (cache *SchedulerCache) ForgetPod(pod *v1.Pod) error
- func (cache *SchedulerCache) GetNode(name string) *schedulernode.NodeInfo
- func (cache *SchedulerCache) GetNodeInfo(nodeName string) (*v1.Node, error)
- func (cache *SchedulerCache) GetNodesInfoMap() map[string]*schedulernode.NodeInfo
- func (cache *SchedulerCache) GetPersistentVolumeClaimInfo(nameSpace, name string) (*v1.PersistentVolumeClaim, error)
- func (cache *SchedulerCache) GetPersistentVolumeInfo(name string) (*v1.PersistentVolume, error)
- func (cache *SchedulerCache) GetPod(uid string) (*v1.Pod, bool)
- func (cache *SchedulerCache) GetStorageClassInfo(className string) (*storageV1.StorageClass, error)
- func (cache *SchedulerCache) List(selector labels.Selector) ([]*v1.Pod, error)
- func (cache *SchedulerCache) RemoveNode(node *v1.Node) error
- func (cache *SchedulerCache) RemovePod(pod *v1.Pod) error
- func (cache *SchedulerCache) UpdateNode(oldNode, newNode *v1.Node) error
- func (cache *SchedulerCache) UpdatePod(oldPod, newPod *v1.Pod) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPluginArgs ¶
func GetPluginArgs() *factory.PluginFactoryArgs
Types ¶
type PluginFactoryArgsProvider ¶
type PluginFactoryArgsProvider interface {
// contains filtered or unexported methods
}
see e.g SchedulerCache
type SchedulerCache ¶
type SchedulerCache struct {
// contains filtered or unexported fields
}
scheduler cache maintains some critical information about nodes and pods used for scheduling nodes are cached in the form of de-scheduler nodeInfo, instead of re-creating all nodes info from scratch, we replicate nodes info from de-scheduler, in order to re-use predicates functions.
func NewSchedulerCache ¶
func NewSchedulerCache(pvl corelistersV1.PersistentVolumeLister, pvcl corelistersV1.PersistentVolumeClaimLister, stl storagelisterV1.StorageClassLister, binder *volumebinder.VolumeBinder) *SchedulerCache
func (*SchedulerCache) AddNode ¶
func (cache *SchedulerCache) AddNode(node *v1.Node)
func (*SchedulerCache) AddPod ¶
func (cache *SchedulerCache) AddPod(pod *v1.Pod) error
cache pod in the scheduler internal map, so it can be fast retrieved by UID, if pod is assigned to a node, update the cached nodes map too so that scheduler knows which pod is running before pod is bound to that node.
func (*SchedulerCache) FilteredList ¶
func (cache *SchedulerCache) FilteredList(podFilter algorithm.PodFilter, selector labels.Selector) ([]*v1.Pod, error)
Implement scheduler/algorithm/types.go#PodLister interface
func (*SchedulerCache) GetNode ¶
func (cache *SchedulerCache) GetNode(name string) *schedulernode.NodeInfo
func (*SchedulerCache) GetNodeInfo ¶
func (cache *SchedulerCache) GetNodeInfo(nodeName string) (*v1.Node, error)
Implement scheduler/algorithm/predicates/predicates.go#NodeInfo interface
func (*SchedulerCache) GetNodesInfoMap ¶
func (cache *SchedulerCache) GetNodesInfoMap() map[string]*schedulernode.NodeInfo
func (*SchedulerCache) GetPersistentVolumeClaimInfo ¶
func (cache *SchedulerCache) GetPersistentVolumeClaimInfo(nameSpace, name string) (*v1.PersistentVolumeClaim, error)
Implement scheduler/algorithm/predicates/predicates.go#PersistentVolumeClaimInfo interface
func (*SchedulerCache) GetPersistentVolumeInfo ¶
func (cache *SchedulerCache) GetPersistentVolumeInfo(name string) (*v1.PersistentVolume, error)
Implement scheduler/algorithm/predicates/predicates.go#PersistentVolumeClaimInfo interface
func (*SchedulerCache) GetStorageClassInfo ¶
func (cache *SchedulerCache) GetStorageClassInfo(className string) (*storageV1.StorageClass, error)
Implement scheduler/algorithm/predicates/predicates.go#StorageClassInfo interface
func (*SchedulerCache) RemoveNode ¶
func (cache *SchedulerCache) RemoveNode(node *v1.Node) error
func (*SchedulerCache) UpdateNode ¶
func (cache *SchedulerCache) UpdateNode(oldNode, newNode *v1.Node) error