Documentation ¶
Index ¶
- Constants
- func ErrorPredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- func ErrorPrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)
- func FalseAndUnresolvePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- func FalsePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- func MakeNodesAndPods(existingPodsNum, allNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node)
- func MakeNodesAndPodsForEvenPodsSpread(labels map[string]string, existingPodsNum, allNodesNum, filteredNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node, filteredNodes []*v1.Node)
- func MakeNodesAndPodsForPodAffinity(existingPodsNum, allNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node)
- func NewFakeFilterPlugin(failedNodeReturnCodeMap map[string]framework.Code) frameworkruntime.PluginFactory
- func NewFakePermitPlugin(status *framework.Status, timeout time.Duration) frameworkruntime.PluginFactory
- func NewFakePreBindPlugin(status *framework.Status) frameworkruntime.PluginFactory
- func NewFakePreFilterPlugin(name string, result *framework.PreFilterResult, status *framework.Status) frameworkruntime.PluginFactory
- func NewFakeReservePlugin(status *framework.Status) frameworkruntime.PluginFactory
- func NewFalseFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)
- func NewFramework(fns []RegisterPluginFunc, profileName string, stopCh <-chan struct{}, ...) (framework.Framework, error)
- func NewMatchFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)
- func NewNode2PrioritizerPlugin() frameworkruntime.PluginFactory
- func NewTrueFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)
- func Node1PredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- func Node1PrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)
- func Node2PredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- func Node2PrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)
- func TruePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status
- type ContainerWrapper
- func (c *ContainerWrapper) ContainerPort(ports []v1.ContainerPort) *ContainerWrapper
- func (c *ContainerWrapper) HostPort(hostPort int32) *ContainerWrapper
- func (c *ContainerWrapper) Image(image string) *ContainerWrapper
- func (c *ContainerWrapper) Name(n string) *ContainerWrapper
- func (c *ContainerWrapper) Obj() v1.Container
- func (c *ContainerWrapper) Resources(resMap map[v1.ResourceName]string) *ContainerWrapper
- type FakeExtender
- func (f *FakeExtender) Bind(binding *v1.Binding) error
- func (f *FakeExtender) Filter(pod *v1.Pod, nodes []*v1.Node) ([]*v1.Node, extenderv1.FailedNodesMap, extenderv1.FailedNodesMap, error)
- func (f *FakeExtender) IsBinder() bool
- func (f *FakeExtender) IsIgnorable() bool
- func (f *FakeExtender) IsInterested(pod *v1.Pod) bool
- func (f *FakeExtender) Name() string
- func (f *FakeExtender) Prioritize(pod *v1.Pod, nodes []*v1.Node) (*extenderv1.HostPriorityList, int64, error)
- func (f *FakeExtender) ProcessPreemption(pod *v1.Pod, nodeNameToVictims map[string]*extenderv1.Victims, ...) (map[string]*extenderv1.Victims, error)
- func (f *FakeExtender) SupportsPreemption() bool
- type FakeFilterPlugin
- type FakePermitPlugin
- type FakePreBindPlugin
- type FakePreFilterPlugin
- type FakeReservePlugin
- type FalseFilterPlugin
- type FitPredicate
- type LabelSelectorWrapper
- func (s *LabelSelectorWrapper) Exists(k string) *LabelSelectorWrapper
- func (s *LabelSelectorWrapper) In(key string, vals []string) *LabelSelectorWrapper
- func (s *LabelSelectorWrapper) Label(k, v string) *LabelSelectorWrapper
- func (s *LabelSelectorWrapper) NotExist(k string) *LabelSelectorWrapper
- func (s *LabelSelectorWrapper) NotIn(key string, vals []string) *LabelSelectorWrapper
- func (s *LabelSelectorWrapper) Obj() *metav1.LabelSelector
- type MatchFilterPlugin
- type NodeSelectorWrapper
- type NodeWrapper
- func (n *NodeWrapper) Capacity(resources map[v1.ResourceName]string) *NodeWrapper
- func (n *NodeWrapper) Images(images map[string]int64) *NodeWrapper
- func (n *NodeWrapper) Label(k, v string) *NodeWrapper
- func (n *NodeWrapper) Name(s string) *NodeWrapper
- func (n *NodeWrapper) Obj() *v1.Node
- func (n *NodeWrapper) Taints(taints []v1.Taint) *NodeWrapper
- func (n *NodeWrapper) UID(s string) *NodeWrapper
- type PodAffinityKind
- type PodWrapper
- func (p *PodWrapper) Annotation(key, value string) *PodWrapper
- func (p *PodWrapper) Annotations(annotations map[string]string) *PodWrapper
- func (p *PodWrapper) Condition(t v1.PodConditionType, s v1.ConditionStatus, r string) *PodWrapper
- func (p *PodWrapper) Conditions(conditions []v1.PodCondition) *PodWrapper
- func (p *PodWrapper) Container(s string) *PodWrapper
- func (p *PodWrapper) ContainerPort(ports []v1.ContainerPort) *PodWrapper
- func (p *PodWrapper) Containers(containers []v1.Container) *PodWrapper
- func (p *PodWrapper) CreationTimestamp(t metav1.Time) *PodWrapper
- func (p *PodWrapper) HostPort(port int32) *PodWrapper
- func (p *PodWrapper) InitReq(resMap map[v1.ResourceName]string) *PodWrapper
- func (p *PodWrapper) Label(k, v string) *PodWrapper
- func (p *PodWrapper) Labels(labels map[string]string) *PodWrapper
- func (p *PodWrapper) Name(s string) *PodWrapper
- func (p *PodWrapper) Namespace(s string) *PodWrapper
- func (p *PodWrapper) Node(s string) *PodWrapper
- func (p *PodWrapper) NodeAffinityIn(key string, vals []string) *PodWrapper
- func (p *PodWrapper) NodeAffinityNotIn(key string, vals []string) *PodWrapper
- func (p *PodWrapper) NodeSelector(m map[string]string) *PodWrapper
- func (p *PodWrapper) NominatedNodeName(n string) *PodWrapper
- func (p *PodWrapper) Obj() *v1.Pod
- func (p *PodWrapper) Overhead(rl v1.ResourceList) *PodWrapper
- func (p *PodWrapper) OwnerReference(name string, gvk schema.GroupVersionKind) *PodWrapper
- func (p *PodWrapper) PVC(name string) *PodWrapper
- func (p *PodWrapper) Phase(phase v1.PodPhase) *PodWrapper
- func (p *PodWrapper) PodAffinity(topologyKey string, labelSelector *metav1.LabelSelector, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAffinityExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAffinityIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAffinityNotExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAffinityNotIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAntiAffinity(topologyKey string, labelSelector *metav1.LabelSelector, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAntiAffinityExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAntiAffinityIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAntiAffinityNotExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PodAntiAffinityNotIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
- func (p *PodWrapper) PreemptionPolicy(policy v1.PreemptionPolicy) *PodWrapper
- func (p *PodWrapper) Priority(val int32) *PodWrapper
- func (p *PodWrapper) Req(resMap map[v1.ResourceName]string) *PodWrapper
- func (p *PodWrapper) SchedulerName(s string) *PodWrapper
- func (p *PodWrapper) SpreadConstraint(maxSkew int, tpKey string, mode v1.UnsatisfiableConstraintAction, ...) *PodWrapper
- func (p *PodWrapper) StartTime(t metav1.Time) *PodWrapper
- func (p *PodWrapper) Terminating() *PodWrapper
- func (p *PodWrapper) Toleration(key string) *PodWrapper
- func (p *PodWrapper) UID(s string) *PodWrapper
- func (p *PodWrapper) Volume(volume v1.Volume) *PodWrapper
- func (p *PodWrapper) ZeroTerminationGracePeriod() *PodWrapper
- type PriorityConfig
- type PriorityFunc
- type RegisterPluginFunc
- func RegisterBindPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterPermitPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterPluginAsExtensions(pluginName string, pluginNewFunc runtime.PluginFactory, extensions ...string) RegisterPluginFunc
- func RegisterPluginAsExtensionsWithWeight(pluginName string, weight int32, pluginNewFunc runtime.PluginFactory, ...) RegisterPluginFunc
- func RegisterPreBindPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterPreFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterPreScorePlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterQueueSortPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterReservePlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
- func RegisterScorePlugin(pluginName string, pluginNewFunc runtime.PluginFactory, weight int32) RegisterPluginFunc
- type TrueFilterPlugin
Constants ¶
const ErrReasonFake = "Nodes failed the fake plugin"
ErrReasonFake is a fake error message denotes the filter function errored.
Variables ¶
This section is empty.
Functions ¶
func ErrorPredicateExtender ¶ added in v1.19.0
ErrorPredicateExtender implements FitPredicate function to always return error status.
func ErrorPrioritizerExtender ¶ added in v1.19.0
ErrorPrioritizerExtender implements PriorityFunc function to always return error.
func FalseAndUnresolvePredicateExtender ¶ added in v1.21.0
FalseAndUnresolvePredicateExtender implements fitPredicate to always return unschedulable and unresolvable status.
func FalsePredicateExtender ¶ added in v1.19.0
FalsePredicateExtender implements FitPredicate function to always return unschedulable status.
func MakeNodesAndPods ¶ added in v1.16.0
func MakeNodesAndPods(existingPodsNum, allNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node)
MakeNodesAndPods serves as a testing helper to generate regular Nodes and Pods that don't use any advanced scheduling features.
func MakeNodesAndPodsForEvenPodsSpread ¶ added in v1.17.0
func MakeNodesAndPodsForEvenPodsSpread(labels map[string]string, existingPodsNum, allNodesNum, filteredNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node, filteredNodes []*v1.Node)
MakeNodesAndPodsForEvenPodsSpread serves as a testing helper for EvenPodsSpread feature. It builds a fake cluster containing running Pods and Nodes. The size of Pods and Nodes are determined by input arguments. The specs of Pods and Nodes are generated with the following rules:
- Each generated node is applied with a unique label: "node: node<i>".
- Each generated node is applied with a rotating label: "zone: zone[0-9]".
- Depending on the input labels, each generated pod will be applied with label "key1", "key1,key2", ..., "key1,key2,...,keyN" in a rotating manner.
func MakeNodesAndPodsForPodAffinity ¶ added in v1.17.0
func MakeNodesAndPodsForPodAffinity(existingPodsNum, allNodesNum int) (existingPods []*v1.Pod, allNodes []*v1.Node)
MakeNodesAndPodsForPodAffinity serves as a testing helper for Pod(Anti)Affinity feature. It builds a fake cluster containing running Pods and Nodes. For simplicity, the Nodes will be labelled with "region", "zone" and "node". Nodes[i] will be applied with: - "region": "region" + i%3 - "zone": "zone" + i%10 - "node": "node" + i The Pods will be applied with various combinations of PodAffinity and PodAntiAffinity terms.
func NewFakeFilterPlugin ¶ added in v1.19.0
func NewFakeFilterPlugin(failedNodeReturnCodeMap map[string]framework.Code) frameworkruntime.PluginFactory
NewFakeFilterPlugin initializes a fakeFilterPlugin and returns it.
func NewFakePermitPlugin ¶ added in v1.19.0
func NewFakePermitPlugin(status *framework.Status, timeout time.Duration) frameworkruntime.PluginFactory
NewFakePermitPlugin initializes a fakePermitPlugin and returns it.
func NewFakePreBindPlugin ¶ added in v1.19.0
func NewFakePreBindPlugin(status *framework.Status) frameworkruntime.PluginFactory
NewFakePreBindPlugin initializes a fakePreBindPlugin and returns it.
func NewFakePreFilterPlugin ¶ added in v1.19.0
func NewFakePreFilterPlugin(name string, result *framework.PreFilterResult, status *framework.Status) frameworkruntime.PluginFactory
NewFakePreFilterPlugin initializes a fakePreFilterPlugin and returns it.
func NewFakeReservePlugin ¶ added in v1.19.0
func NewFakeReservePlugin(status *framework.Status) frameworkruntime.PluginFactory
NewFakeReservePlugin initializes a fakeReservePlugin and returns it.
func NewFalseFilterPlugin ¶ added in v1.19.0
NewFalseFilterPlugin initializes a FalseFilterPlugin and returns it.
func NewFramework ¶ added in v1.18.0
func NewFramework(fns []RegisterPluginFunc, profileName string, stopCh <-chan struct{}, opts ...runtime.Option) (framework.Framework, error)
NewFramework creates a Framework from the register functions and options.
func NewMatchFilterPlugin ¶ added in v1.19.0
NewMatchFilterPlugin initializes a MatchFilterPlugin and returns it.
func NewNode2PrioritizerPlugin ¶ added in v1.20.0
func NewNode2PrioritizerPlugin() frameworkruntime.PluginFactory
NewNode2PrioritizerPlugin returns a factory function to build node2PrioritizerPlugin.
func NewTrueFilterPlugin ¶ added in v1.19.0
NewTrueFilterPlugin initializes a TrueFilterPlugin and returns it.
func Node1PredicateExtender ¶ added in v1.20.0
Node1PredicateExtender implements FitPredicate function to return true when the given node's name is "node1"; otherwise return false.
func Node1PrioritizerExtender ¶ added in v1.20.0
Node1PrioritizerExtender implements PriorityFunc function to give score 10 if the given node's name is "node1"; otherwise score 1.
func Node2PredicateExtender ¶ added in v1.20.0
Node2PredicateExtender implements FitPredicate function to return true when the given node's name is "node2"; otherwise return false.
func Node2PrioritizerExtender ¶ added in v1.20.0
Node2PrioritizerExtender implements PriorityFunc function to give score 10 if the given node's name is "node2"; otherwise score 1.
Types ¶
type ContainerWrapper ¶ added in v1.25.0
ContainerWrapper wraps a Container inside.
func MakeContainer ¶ added in v1.25.0
func MakeContainer() *ContainerWrapper
MakeContainer creates a Container wrapper.
func (*ContainerWrapper) ContainerPort ¶ added in v1.25.0
func (c *ContainerWrapper) ContainerPort(ports []v1.ContainerPort) *ContainerWrapper
ContainerPort sets `ports` as the ports of the inner Container.
func (*ContainerWrapper) HostPort ¶ added in v1.25.0
func (c *ContainerWrapper) HostPort(hostPort int32) *ContainerWrapper
HostPort sets `hostPort` as the host port of the inner Container.
func (*ContainerWrapper) Image ¶ added in v1.25.0
func (c *ContainerWrapper) Image(image string) *ContainerWrapper
Image sets `image` as the image of the inner Container.
func (*ContainerWrapper) Name ¶ added in v1.25.0
func (c *ContainerWrapper) Name(n string) *ContainerWrapper
Name sets `n` as the name of the inner Container.
func (*ContainerWrapper) Obj ¶ added in v1.25.0
func (c *ContainerWrapper) Obj() v1.Container
Obj returns the inner Container.
func (*ContainerWrapper) Resources ¶ added in v1.25.0
func (c *ContainerWrapper) Resources(resMap map[v1.ResourceName]string) *ContainerWrapper
Resources sets the container resources to the given resource map.
type FakeExtender ¶ added in v1.19.0
type FakeExtender struct { // ExtenderName indicates this fake extender's name. // Note that extender name should be unique. ExtenderName string Predicates []FitPredicate Prioritizers []PriorityConfig Weight int64 NodeCacheCapable bool FilteredNodes []*v1.Node UnInterested bool Ignorable bool // Cached node information for fake extender CachedNodeNameToInfo map[string]*framework.NodeInfo }
FakeExtender is a data struct which implements the Extender interface.
func (*FakeExtender) Bind ¶ added in v1.19.0
func (f *FakeExtender) Bind(binding *v1.Binding) error
Bind implements the extender Bind function.
func (*FakeExtender) Filter ¶ added in v1.19.0
func (f *FakeExtender) Filter(pod *v1.Pod, nodes []*v1.Node) ([]*v1.Node, extenderv1.FailedNodesMap, extenderv1.FailedNodesMap, error)
Filter implements the extender Filter function.
func (*FakeExtender) IsBinder ¶ added in v1.19.0
func (f *FakeExtender) IsBinder() bool
IsBinder returns true indicating the extender implements the Binder function.
func (*FakeExtender) IsIgnorable ¶ added in v1.19.0
func (f *FakeExtender) IsIgnorable() bool
IsIgnorable returns a bool value indicating whether internal errors can be ignored.
func (*FakeExtender) IsInterested ¶ added in v1.19.0
func (f *FakeExtender) IsInterested(pod *v1.Pod) bool
IsInterested returns a bool indicating whether this extender is interested in this Pod.
func (*FakeExtender) Name ¶ added in v1.19.0
func (f *FakeExtender) Name() string
Name returns name of the extender.
func (*FakeExtender) Prioritize ¶ added in v1.19.0
func (f *FakeExtender) Prioritize(pod *v1.Pod, nodes []*v1.Node) (*extenderv1.HostPriorityList, int64, error)
Prioritize implements the extender Prioritize function.
func (*FakeExtender) ProcessPreemption ¶ added in v1.19.0
func (f *FakeExtender) ProcessPreemption( pod *v1.Pod, nodeNameToVictims map[string]*extenderv1.Victims, nodeInfos framework.NodeInfoLister, ) (map[string]*extenderv1.Victims, error)
ProcessPreemption implements the extender preempt function.
func (*FakeExtender) SupportsPreemption ¶ added in v1.19.0
func (f *FakeExtender) SupportsPreemption() bool
SupportsPreemption returns true indicating the extender supports preemption.
type FakeFilterPlugin ¶ added in v1.19.0
type FakeFilterPlugin struct { NumFilterCalled int32 FailedNodeReturnCodeMap map[string]framework.Code }
FakeFilterPlugin is a test filter plugin to record how many times its Filter() function have been called, and it returns different 'Code' depending on its internal 'failedNodeReturnCodeMap'.
func (*FakeFilterPlugin) Filter ¶ added in v1.19.0
func (pl *FakeFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status
Filter invoked at the filter extension point.
func (*FakeFilterPlugin) Name ¶ added in v1.19.0
func (pl *FakeFilterPlugin) Name() string
Name returns name of the plugin.
type FakePermitPlugin ¶ added in v1.19.0
FakePermitPlugin is a test permit plugin.
func (*FakePermitPlugin) Name ¶ added in v1.19.0
func (pl *FakePermitPlugin) Name() string
Name returns name of the plugin.
type FakePreBindPlugin ¶ added in v1.19.0
FakePreBindPlugin is a test prebind plugin.
func (*FakePreBindPlugin) Name ¶ added in v1.19.0
func (pl *FakePreBindPlugin) Name() string
Name returns name of the plugin.
type FakePreFilterPlugin ¶ added in v1.19.0
type FakePreFilterPlugin struct { Result *framework.PreFilterResult Status *framework.Status // contains filtered or unexported fields }
FakePreFilterPlugin is a test filter plugin.
func (*FakePreFilterPlugin) Name ¶ added in v1.19.0
func (pl *FakePreFilterPlugin) Name() string
Name returns name of the plugin.
func (*FakePreFilterPlugin) PreFilter ¶ added in v1.19.0
func (pl *FakePreFilterPlugin) PreFilter(_ context.Context, _ *framework.CycleState, pod *v1.Pod) (*framework.PreFilterResult, *framework.Status)
PreFilter invoked at the PreFilter extension point.
func (*FakePreFilterPlugin) PreFilterExtensions ¶ added in v1.19.0
func (pl *FakePreFilterPlugin) PreFilterExtensions() framework.PreFilterExtensions
PreFilterExtensions no extensions implemented by this plugin.
type FakeReservePlugin ¶ added in v1.19.0
FakeReservePlugin is a test reserve plugin.
func (*FakeReservePlugin) Name ¶ added in v1.19.0
func (pl *FakeReservePlugin) Name() string
Name returns name of the plugin.
func (*FakeReservePlugin) Reserve ¶ added in v1.19.0
func (pl *FakeReservePlugin) Reserve(_ context.Context, _ *framework.CycleState, _ *v1.Pod, _ string) *framework.Status
Reserve invoked at the Reserve extension point.
func (*FakeReservePlugin) Unreserve ¶ added in v1.19.0
func (pl *FakeReservePlugin) Unreserve(_ context.Context, _ *framework.CycleState, _ *v1.Pod, _ string)
Unreserve invoked at the Unreserve extension point.
type FalseFilterPlugin ¶ added in v1.19.0
type FalseFilterPlugin struct{}
FalseFilterPlugin is a filter plugin which always return Unschedulable when Filter function is called.
func (*FalseFilterPlugin) Filter ¶ added in v1.19.0
func (pl *FalseFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status
Filter invoked at the filter extension point.
func (*FalseFilterPlugin) Name ¶ added in v1.19.0
func (pl *FalseFilterPlugin) Name() string
Name returns name of the plugin.
type FitPredicate ¶ added in v1.19.0
FitPredicate is a function type which is used in fake extender.
type LabelSelectorWrapper ¶ added in v1.16.0
type LabelSelectorWrapper struct{ metav1.LabelSelector }
LabelSelectorWrapper wraps a LabelSelector inside.
func MakeLabelSelector ¶ added in v1.16.0
func MakeLabelSelector() *LabelSelectorWrapper
MakeLabelSelector creates a LabelSelector wrapper.
func (*LabelSelectorWrapper) Exists ¶ added in v1.16.0
func (s *LabelSelectorWrapper) Exists(k string) *LabelSelectorWrapper
Exists injects a matchExpression (with an operator Exists) to the inner labelSelector.
func (*LabelSelectorWrapper) In ¶ added in v1.16.0
func (s *LabelSelectorWrapper) In(key string, vals []string) *LabelSelectorWrapper
In injects a matchExpression (with an operator In) to the inner labelSelector.
func (*LabelSelectorWrapper) Label ¶ added in v1.16.0
func (s *LabelSelectorWrapper) Label(k, v string) *LabelSelectorWrapper
Label applies a {k,v} pair to the inner LabelSelector.
func (*LabelSelectorWrapper) NotExist ¶ added in v1.16.0
func (s *LabelSelectorWrapper) NotExist(k string) *LabelSelectorWrapper
NotExist injects a matchExpression (with an operator NotExist) to the inner labelSelector.
func (*LabelSelectorWrapper) NotIn ¶ added in v1.16.0
func (s *LabelSelectorWrapper) NotIn(key string, vals []string) *LabelSelectorWrapper
NotIn injects a matchExpression (with an operator NotIn) to the inner labelSelector.
func (*LabelSelectorWrapper) Obj ¶ added in v1.16.0
func (s *LabelSelectorWrapper) Obj() *metav1.LabelSelector
Obj returns the inner LabelSelector.
type MatchFilterPlugin ¶ added in v1.19.0
type MatchFilterPlugin struct{}
MatchFilterPlugin is a filter plugin which return Success when the evaluated pod and node have the same name; otherwise return Unschedulable.
func (*MatchFilterPlugin) Filter ¶ added in v1.19.0
func (pl *MatchFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status
Filter invoked at the filter extension point.
func (*MatchFilterPlugin) Name ¶ added in v1.19.0
func (pl *MatchFilterPlugin) Name() string
Name returns name of the plugin.
type NodeSelectorWrapper ¶ added in v1.16.0
type NodeSelectorWrapper struct{ v1.NodeSelector }
NodeSelectorWrapper wraps a NodeSelector inside.
func MakeNodeSelector ¶ added in v1.16.0
func MakeNodeSelector() *NodeSelectorWrapper
MakeNodeSelector creates a NodeSelector wrapper.
func (*NodeSelectorWrapper) In ¶ added in v1.16.0
func (s *NodeSelectorWrapper) In(key string, vals []string) *NodeSelectorWrapper
In injects a matchExpression (with an operator IN) as a selectorTerm to the inner nodeSelector. NOTE: appended selecterTerms are ORed.
func (*NodeSelectorWrapper) NotIn ¶ added in v1.16.0
func (s *NodeSelectorWrapper) NotIn(key string, vals []string) *NodeSelectorWrapper
NotIn injects a matchExpression (with an operator NotIn) as a selectorTerm to the inner nodeSelector.
func (*NodeSelectorWrapper) Obj ¶ added in v1.16.0
func (s *NodeSelectorWrapper) Obj() *v1.NodeSelector
Obj returns the inner NodeSelector.
type NodeWrapper ¶ added in v1.16.0
NodeWrapper wraps a Node inside.
func (*NodeWrapper) Capacity ¶ added in v1.19.0
func (n *NodeWrapper) Capacity(resources map[v1.ResourceName]string) *NodeWrapper
Capacity sets the capacity and the allocatable resources of the inner node. Each entry in `resources` corresponds to a resource name and its quantity. By default, the capacity and allocatable number of pods are set to 32.
func (*NodeWrapper) Images ¶ added in v1.19.0
func (n *NodeWrapper) Images(images map[string]int64) *NodeWrapper
Images sets the images of the inner node. Each entry in `images` corresponds to an image name and its size in bytes.
func (*NodeWrapper) Label ¶ added in v1.16.0
func (n *NodeWrapper) Label(k, v string) *NodeWrapper
Label applies a {k,v} label pair to the inner node.
func (*NodeWrapper) Name ¶ added in v1.16.0
func (n *NodeWrapper) Name(s string) *NodeWrapper
Name sets `s` as the name of the inner pod.
func (*NodeWrapper) Obj ¶ added in v1.16.0
func (n *NodeWrapper) Obj() *v1.Node
Obj returns the inner Node.
func (*NodeWrapper) Taints ¶ added in v1.21.13
func (n *NodeWrapper) Taints(taints []v1.Taint) *NodeWrapper
Taints applies taints to the inner node.
func (*NodeWrapper) UID ¶ added in v1.18.0
func (n *NodeWrapper) UID(s string) *NodeWrapper
UID sets `s` as the UID of the inner pod.
type PodAffinityKind ¶ added in v1.17.0
type PodAffinityKind int
PodAffinityKind represents different kinds of PodAffinity.
const ( // NilPodAffinity is a no-op which doesn't apply any PodAffinity. NilPodAffinity PodAffinityKind = iota // PodAffinityWithRequiredReq applies a HARD requirement to pod.spec.affinity.PodAffinity. PodAffinityWithRequiredReq // PodAffinityWithPreferredReq applies a SOFT requirement to pod.spec.affinity.PodAffinity. PodAffinityWithPreferredReq // PodAffinityWithRequiredPreferredReq applies HARD and SOFT requirements to pod.spec.affinity.PodAffinity. PodAffinityWithRequiredPreferredReq // PodAntiAffinityWithRequiredReq applies a HARD requirement to pod.spec.affinity.PodAntiAffinity. PodAntiAffinityWithRequiredReq // PodAntiAffinityWithPreferredReq applies a SOFT requirement to pod.spec.affinity.PodAntiAffinity. PodAntiAffinityWithPreferredReq // PodAntiAffinityWithRequiredPreferredReq applies HARD and SOFT requirements to pod.spec.affinity.PodAntiAffinity. PodAntiAffinityWithRequiredPreferredReq )
type PodWrapper ¶ added in v1.16.0
PodWrapper wraps a Pod inside.
func (*PodWrapper) Annotation ¶ added in v1.25.0
func (p *PodWrapper) Annotation(key, value string) *PodWrapper
Annotation sets a {k,v} pair to the inner pod annotation.
func (*PodWrapper) Annotations ¶ added in v1.25.0
func (p *PodWrapper) Annotations(annotations map[string]string) *PodWrapper
Annotations sets all {k,v} pair provided by `annotations` to the inner pod annotations.
func (*PodWrapper) Condition ¶ added in v1.25.0
func (p *PodWrapper) Condition(t v1.PodConditionType, s v1.ConditionStatus, r string) *PodWrapper
Condition adds a `condition(Type, Status, Reason)` to .Status.Conditions.
func (*PodWrapper) Conditions ¶ added in v1.25.0
func (p *PodWrapper) Conditions(conditions []v1.PodCondition) *PodWrapper
Conditions sets `conditions` as .status.Conditions of the inner pod.
func (*PodWrapper) Container ¶ added in v1.16.0
func (p *PodWrapper) Container(s string) *PodWrapper
Container appends a container into PodSpec of the inner pod.
func (*PodWrapper) ContainerPort ¶ added in v1.25.0
func (p *PodWrapper) ContainerPort(ports []v1.ContainerPort) *PodWrapper
ContainerPort creates a container with ports valued `ports`, and injects into the inner pod.
func (*PodWrapper) Containers ¶ added in v1.25.0
func (p *PodWrapper) Containers(containers []v1.Container) *PodWrapper
Containers sets `containers` to the PodSpec of the inner pod.
func (*PodWrapper) CreationTimestamp ¶ added in v1.25.0
func (p *PodWrapper) CreationTimestamp(t metav1.Time) *PodWrapper
CreationTimestamp sets the inner pod's CreationTimestamp.
func (*PodWrapper) HostPort ¶ added in v1.22.0
func (p *PodWrapper) HostPort(port int32) *PodWrapper
HostPort creates a container with a hostPort valued `hostPort`, and injects into the inner pod.
func (*PodWrapper) InitReq ¶ added in v1.25.0
func (p *PodWrapper) InitReq(resMap map[v1.ResourceName]string) *PodWrapper
InitReq adds a new init container to the inner pod with given resource map.
func (*PodWrapper) Label ¶ added in v1.16.0
func (p *PodWrapper) Label(k, v string) *PodWrapper
Label sets a {k,v} pair to the inner pod label.
func (*PodWrapper) Labels ¶ added in v1.25.0
func (p *PodWrapper) Labels(labels map[string]string) *PodWrapper
Labels sets all {k,v} pair provided by `labels` to the inner pod labels.
func (*PodWrapper) Name ¶ added in v1.16.0
func (p *PodWrapper) Name(s string) *PodWrapper
Name sets `s` as the name of the inner pod.
func (*PodWrapper) Namespace ¶ added in v1.16.0
func (p *PodWrapper) Namespace(s string) *PodWrapper
Namespace sets `s` as the namespace of the inner pod.
func (*PodWrapper) Node ¶ added in v1.16.0
func (p *PodWrapper) Node(s string) *PodWrapper
Node sets `s` as the nodeName of the inner pod.
func (*PodWrapper) NodeAffinityIn ¶ added in v1.16.0
func (p *PodWrapper) NodeAffinityIn(key string, vals []string) *PodWrapper
NodeAffinityIn creates a HARD node affinity (with the operator In) and injects into the inner pod.
func (*PodWrapper) NodeAffinityNotIn ¶ added in v1.16.0
func (p *PodWrapper) NodeAffinityNotIn(key string, vals []string) *PodWrapper
NodeAffinityNotIn creates a HARD node affinity (with the operator NotIn) and injects into the inner pod.
func (*PodWrapper) NodeSelector ¶ added in v1.16.0
func (p *PodWrapper) NodeSelector(m map[string]string) *PodWrapper
NodeSelector sets `m` as the nodeSelector of the inner pod.
func (*PodWrapper) NominatedNodeName ¶ added in v1.19.0
func (p *PodWrapper) NominatedNodeName(n string) *PodWrapper
NominatedNodeName sets `n` as the .Status.NominatedNodeName of the inner pod.
func (*PodWrapper) Obj ¶ added in v1.16.0
func (p *PodWrapper) Obj() *v1.Pod
Obj returns the inner Pod.
func (*PodWrapper) Overhead ¶ added in v1.24.0
func (p *PodWrapper) Overhead(rl v1.ResourceList) *PodWrapper
Overhead sets the give ResourceList to the inner pod
func (*PodWrapper) OwnerReference ¶ added in v1.22.0
func (p *PodWrapper) OwnerReference(name string, gvk schema.GroupVersionKind) *PodWrapper
OwnerReference updates the owning controller of the pod.
func (*PodWrapper) PVC ¶ added in v1.23.0
func (p *PodWrapper) PVC(name string) *PodWrapper
PVC creates a Volume with a PVC and injects into the inner pod.
func (*PodWrapper) Phase ¶ added in v1.25.0
func (p *PodWrapper) Phase(phase v1.PodPhase) *PodWrapper
Phase sets `phase` as .status.Phase of the inner pod.
func (*PodWrapper) PodAffinity ¶ added in v1.25.0
func (p *PodWrapper) PodAffinity(topologyKey string, labelSelector *metav1.LabelSelector, kind PodAffinityKind) *PodWrapper
PodAffinity creates a PodAffinity with topology key and label selector and injects into the inner pod.
func (*PodWrapper) PodAffinityExists ¶ added in v1.17.0
func (p *PodWrapper) PodAffinityExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
PodAffinityExists creates a PodAffinity with the operator "Exists" and injects into the inner pod.
func (*PodWrapper) PodAffinityIn ¶ added in v1.25.0
func (p *PodWrapper) PodAffinityIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
PodAffinityIn creates a PodAffinity with the operator "In" and injects into the inner pod.
func (*PodWrapper) PodAffinityNotExists ¶ added in v1.25.0
func (p *PodWrapper) PodAffinityNotExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
PodAffinityNotExists creates a PodAffinity with the operator "NotExists" and injects into the inner pod.
func (*PodWrapper) PodAffinityNotIn ¶ added in v1.25.0
func (p *PodWrapper) PodAffinityNotIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
PodAffinityNotIn creates a PodAffinity with the operator "NotIn" and injects into the inner pod.
func (*PodWrapper) PodAntiAffinity ¶ added in v1.25.0
func (p *PodWrapper) PodAntiAffinity(topologyKey string, labelSelector *metav1.LabelSelector, kind PodAffinityKind) *PodWrapper
PodAntiAffinity creates a PodAntiAffinity with topology key and label selector and injects into the inner pod.
func (*PodWrapper) PodAntiAffinityExists ¶ added in v1.17.0
func (p *PodWrapper) PodAntiAffinityExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
PodAntiAffinityExists creates a PodAntiAffinity with the operator "Exists" and injects into the inner pod.
func (*PodWrapper) PodAntiAffinityIn ¶ added in v1.25.0
func (p *PodWrapper) PodAntiAffinityIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
PodAntiAffinityIn creates a PodAntiAffinity with the operator "In" and injects into the inner pod.
func (*PodWrapper) PodAntiAffinityNotExists ¶ added in v1.25.0
func (p *PodWrapper) PodAntiAffinityNotExists(labelKey, topologyKey string, kind PodAffinityKind) *PodWrapper
PodAntiAffinityNotExists creates a PodAntiAffinity with the operator "NotExists" and injects into the inner pod.
func (*PodWrapper) PodAntiAffinityNotIn ¶ added in v1.25.0
func (p *PodWrapper) PodAntiAffinityNotIn(labelKey, topologyKey string, vals []string, kind PodAffinityKind) *PodWrapper
PodAntiAffinityNotIn creates a PodAntiAffinity with the operator "NotIn" and injects into the inner pod.
func (*PodWrapper) PreemptionPolicy ¶ added in v1.19.0
func (p *PodWrapper) PreemptionPolicy(policy v1.PreemptionPolicy) *PodWrapper
PreemptionPolicy sets the give preemption policy to the inner pod.
func (*PodWrapper) Priority ¶ added in v1.16.0
func (p *PodWrapper) Priority(val int32) *PodWrapper
Priority sets a priority value into PodSpec of the inner pod.
func (*PodWrapper) Req ¶ added in v1.19.0
func (p *PodWrapper) Req(resMap map[v1.ResourceName]string) *PodWrapper
Req adds a new container to the inner pod with given resource map.
func (*PodWrapper) SchedulerName ¶ added in v1.18.0
func (p *PodWrapper) SchedulerName(s string) *PodWrapper
SchedulerName sets `s` as the scheduler name of the inner pod.
func (*PodWrapper) SpreadConstraint ¶ added in v1.16.0
func (p *PodWrapper) SpreadConstraint(maxSkew int, tpKey string, mode v1.UnsatisfiableConstraintAction, selector *metav1.LabelSelector, minDomains *int32, nodeAffinityPolicy, nodeTaintsPolicy *v1.NodeInclusionPolicy, matchLabelKeys []string) *PodWrapper
SpreadConstraint constructs a TopologySpreadConstraint object and injects into the inner pod.
func (*PodWrapper) StartTime ¶ added in v1.19.0
func (p *PodWrapper) StartTime(t metav1.Time) *PodWrapper
StartTime sets `t` as .status.startTime for the inner pod.
func (*PodWrapper) Terminating ¶ added in v1.18.0
func (p *PodWrapper) Terminating() *PodWrapper
Terminating sets the inner pod's deletionTimestamp to current timestamp.
func (*PodWrapper) Toleration ¶ added in v1.21.13
func (p *PodWrapper) Toleration(key string) *PodWrapper
Toleration creates a toleration (with the operator Exists) and injects into the inner pod.
func (*PodWrapper) UID ¶ added in v1.18.0
func (p *PodWrapper) UID(s string) *PodWrapper
UID sets `s` as the UID of the inner pod.
func (*PodWrapper) Volume ¶ added in v1.25.0
func (p *PodWrapper) Volume(volume v1.Volume) *PodWrapper
Volume creates volume and injects into the inner pod.
func (*PodWrapper) ZeroTerminationGracePeriod ¶ added in v1.16.0
func (p *PodWrapper) ZeroTerminationGracePeriod() *PodWrapper
ZeroTerminationGracePeriod sets the TerminationGracePeriodSeconds of the inner pod to zero.
type PriorityConfig ¶ added in v1.19.0
type PriorityConfig struct { Function PriorityFunc Weight int64 }
PriorityConfig is used in fake extender to perform Prioritize function.
type PriorityFunc ¶ added in v1.19.0
PriorityFunc is a function type which is used in fake extender.
type RegisterPluginFunc ¶ added in v1.18.0
type RegisterPluginFunc func(reg *runtime.Registry, profile *schedulerapi.KubeSchedulerProfile)
RegisterPluginFunc is a function signature used in method RegisterFilterPlugin() to register a Filter Plugin to a given registry.
func RegisterBindPlugin ¶ added in v1.18.0
func RegisterBindPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterBindPlugin returns a function to register a Bind Plugin to a given registry.
func RegisterFilterPlugin ¶ added in v1.18.0
func RegisterFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterFilterPlugin returns a function to register a Filter Plugin to a given registry.
func RegisterPermitPlugin ¶ added in v1.19.0
func RegisterPermitPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterPermitPlugin returns a function to register a Permit Plugin to a given registry.
func RegisterPluginAsExtensions ¶ added in v1.18.0
func RegisterPluginAsExtensions(pluginName string, pluginNewFunc runtime.PluginFactory, extensions ...string) RegisterPluginFunc
RegisterPluginAsExtensions returns a function to register a Plugin as given extensionPoints to a given registry.
func RegisterPluginAsExtensionsWithWeight ¶ added in v1.18.0
func RegisterPluginAsExtensionsWithWeight(pluginName string, weight int32, pluginNewFunc runtime.PluginFactory, extensions ...string) RegisterPluginFunc
RegisterPluginAsExtensionsWithWeight returns a function to register a Plugin as given extensionPoints with weight to a given registry.
func RegisterPreBindPlugin ¶ added in v1.19.0
func RegisterPreBindPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterPreBindPlugin returns a function to register a PreBind Plugin to a given registry.
func RegisterPreFilterPlugin ¶ added in v1.19.0
func RegisterPreFilterPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterPreFilterPlugin returns a function to register a PreFilter Plugin to a given registry.
func RegisterPreScorePlugin ¶ added in v1.18.0
func RegisterPreScorePlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterPreScorePlugin returns a function to register a Score Plugin to a given registry.
func RegisterQueueSortPlugin ¶ added in v1.18.0
func RegisterQueueSortPlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterQueueSortPlugin returns a function to register a QueueSort Plugin to a given registry.
func RegisterReservePlugin ¶ added in v1.19.0
func RegisterReservePlugin(pluginName string, pluginNewFunc runtime.PluginFactory) RegisterPluginFunc
RegisterReservePlugin returns a function to register a Reserve Plugin to a given registry.
func RegisterScorePlugin ¶ added in v1.18.0
func RegisterScorePlugin(pluginName string, pluginNewFunc runtime.PluginFactory, weight int32) RegisterPluginFunc
RegisterScorePlugin returns a function to register a Score Plugin to a given registry.
type TrueFilterPlugin ¶ added in v1.19.0
type TrueFilterPlugin struct{}
TrueFilterPlugin is a filter plugin which always return Success when Filter function is called.
func (*TrueFilterPlugin) Filter ¶ added in v1.19.0
func (pl *TrueFilterPlugin) Filter(_ context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status
Filter invoked at the filter extension point.
func (*TrueFilterPlugin) Name ¶ added in v1.19.0
func (pl *TrueFilterPlugin) Name() string
Name returns name of the plugin.