k8s_internal

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2026 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsScalarResourceName

func IsScalarResourceName(name v1.ResourceName) bool

func NewInsufficientGpuMemoryCapacity

func NewInsufficientGpuMemoryCapacity(requested, capacity int64, distributedTaskMessage bool) string

func NewInsufficientResourceError

func NewInsufficientResourceError(
	resourceName v1.ResourceName, requested, used, capacity string, distributedTaskMessage bool,
) string

func NewInsufficientResourceErrorScalarResources

func NewInsufficientResourceErrorScalarResources(
	resourceName v1.ResourceName, requested, used, capacity int64, distributedTaskMessage bool,
) string

func UpdatePodCondition

func UpdatePodCondition(status *v1.PodStatus, condition *v1.PodCondition) bool

Types

type ExtendedNodeScorer

type ExtendedNodeScorer interface {
	NodeScorer
	PreScore(context.Context, ksf.CycleState, *v1.Pod, []ksf.NodeInfo) *ksf.Status
}

type FitPredicateFilter

type FitPredicateFilter func(pod *v1.Pod, nodeInfo *k8sframework.NodeInfo) (bool, []string, error)

func FitPredicateConverter

func FitPredicateConverter(
	stateProvider SessionStateProvider,
	nodeFilter NodeFilter,
) FitPredicateFilter

type FitPredicatePreFilter

type FitPredicatePreFilter func(pod *v1.Pod) (sets.Set[string], *ksf.Status)

func FitPrePredicateConverter

func FitPrePredicateConverter(
	nodeListProvider NodeListProvider,
	stateProvider SessionStateProvider,
	nodePreFilter NodePreFilter,
) FitPredicatePreFilter

type FitPredicateRequired

type FitPredicateRequired func(pod *v1.Pod) bool

type NodeFilter

type NodeFilter interface {
	Filter(ctx context.Context, state ksf.CycleState,
		pod *v1.Pod, nodeInfo ksf.NodeInfo) *ksf.Status
}

type NodeListProvider added in v0.4.16

type NodeListProvider interface {
	GetNodes() []ksf.NodeInfo
}

type NodePreFilter

type NodePreFilter interface {
	PreFilter(ctx context.Context,
		cycleState ksf.CycleState, pod *v1.Pod, nodes []ksf.NodeInfo) (*k8sframework.PreFilterResult, *ksf.Status)
}

type NodeScorer

type NodeScorer interface {
	Score(ctx context.Context, cycleState ksf.CycleState, pod *v1.Pod, nodeInfo ksf.NodeInfo) (int64, *ksf.Status)
}

type PreScoreFn

type PreScoreFn func(pod *v1.Pod, fittingNodes []ksf.NodeInfo) *ksf.Status

func PreScorePluginConverter

func PreScorePluginConverter(
	stateProvider SessionStateProvider,
	nodeScorer ExtendedNodeScorer,
) PreScoreFn

type PredicateName

type PredicateName string

type ScorePredicate

type ScorePredicate func(pod *v1.Pod, nodeInfo *k8sframework.NodeInfo) (int64, []string, error)

func ScorePluginConverter

func ScorePluginConverter(
	stateProvider SessionStateProvider,
	nodeScorer NodeScorer,
) ScorePredicate

type SessionPredicate

type SessionPredicate struct {
	Name                string
	IsPreFilterRequired FitPredicateRequired
	PreFilter           FitPredicatePreFilter
	IsFilterRequired    FitPredicateRequired
	Filter              FitPredicateFilter
}

type SessionPredicates

type SessionPredicates map[PredicateName]SessionPredicate

type SessionScoreFns

type SessionScoreFns struct {
	PrePodAffinity PreScoreFn
	PodAffinity    ScorePredicate
}

type SessionState

type SessionState ksf.CycleState

func NewSessionState

func NewSessionState() SessionState

type SessionStateProvider

type SessionStateProvider interface {
	GetSessionStateForResource(podUID types.UID) SessionState
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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