testing

package
v1.26.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2022 License: Apache-2.0 Imports: 21 Imported by: 12

Documentation

Index

Constants

View Source
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

func ErrorPredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

ErrorPredicateExtender implements FitPredicate function to always return error status.

func ErrorPrioritizerExtender added in v1.19.0

func ErrorPrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)

ErrorPrioritizerExtender implements PriorityFunc function to always return error.

func FalseAndUnresolvePredicateExtender added in v1.21.0

func FalseAndUnresolvePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

FalseAndUnresolvePredicateExtender implements fitPredicate to always return unschedulable and unresolvable status.

func FalsePredicateExtender added in v1.19.0

func FalsePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

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

func NewFalseFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)

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

func NewMatchFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)

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

func NewTrueFilterPlugin(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)

NewTrueFilterPlugin initializes a TrueFilterPlugin and returns it.

func Node1PredicateExtender added in v1.20.0

func Node1PredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

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

func Node1PrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)

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

func Node2PredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

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

func Node2PrioritizerExtender(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)

Node2PrioritizerExtender implements PriorityFunc function to give score 10 if the given node's name is "node2"; otherwise score 1.

func TruePredicateExtender added in v1.19.0

func TruePredicateExtender(pod *v1.Pod, node *v1.Node) *framework.Status

TruePredicateExtender implements FitPredicate function to always return success status.

Types

type ContainerWrapper added in v1.25.0

type ContainerWrapper struct{ v1.Container }

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

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

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

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

type FakePermitPlugin struct {
	Status  *framework.Status
	Timeout time.Duration
}

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.

func (*FakePermitPlugin) Permit added in v1.19.0

Permit invoked at the Permit extension point.

type FakePreBindPlugin added in v1.19.0

type FakePreBindPlugin struct {
	Status *framework.Status
}

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.

func (*FakePreBindPlugin) PreBind added in v1.19.0

PreBind invoked at the PreBind extension point.

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

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

type FakeReservePlugin struct {
	Status *framework.Status
}

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

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

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

type FitPredicate func(pod *v1.Pod, node *v1.Node) *framework.Status

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

Exists injects a matchExpression (with an operator Exists) to the inner labelSelector.

func (*LabelSelectorWrapper) In added in v1.16.0

In injects a matchExpression (with an operator In) to the inner labelSelector.

func (*LabelSelectorWrapper) Label added in v1.16.0

Label applies a {k,v} pair to the inner LabelSelector.

func (*LabelSelectorWrapper) NotExist added in v1.16.0

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

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

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

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

Obj returns the inner NodeSelector.

type NodeWrapper added in v1.16.0

type NodeWrapper struct{ v1.Node }

NodeWrapper wraps a Node inside.

func MakeNode added in v1.16.0

func MakeNode() *NodeWrapper

MakeNode creates a Node wrapper.

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 PersistentVolumeClaimWrapper added in v1.26.0

type PersistentVolumeClaimWrapper struct{ v1.PersistentVolumeClaim }

PersistentVolumeClaimWrapper wraps a PersistentVolumeClaim inside.

func MakePersistentVolumeClaim added in v1.26.0

func MakePersistentVolumeClaim() *PersistentVolumeClaimWrapper

MakePersistentVolumeClaim creates a PersistentVolumeClaim wrapper.

func (*PersistentVolumeClaimWrapper) AccessModes added in v1.26.0

AccessModes sets `accessModes` as the access modes of the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) Annotation added in v1.26.0

Annotation sets a {k,v} pair to the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) Name added in v1.26.0

Name sets `s` as the name of the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) Namespace added in v1.26.0

Namespace sets `s` as the namespace of the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) Obj added in v1.26.0

Obj returns the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) Resources added in v1.26.0

Resources sets `resources` as the resource requirements of the inner PersistentVolumeClaim.

func (*PersistentVolumeClaimWrapper) VolumeName added in v1.26.0

VolumeName sets `name` as the volume name of the inner PersistentVolumeClaim.

type PersistentVolumeWrapper added in v1.26.0

type PersistentVolumeWrapper struct{ v1.PersistentVolume }

PersistentVolumeWrapper wraps a PersistentVolume inside.

func MakePersistentVolume added in v1.26.0

func MakePersistentVolume() *PersistentVolumeWrapper

MakePersistentVolume creates a PersistentVolume wrapper.

func (*PersistentVolumeWrapper) AccessModes added in v1.26.0

AccessModes sets `accessModes` as the access modes of the inner PersistentVolume.

func (*PersistentVolumeWrapper) Capacity added in v1.26.0

Capacity sets `capacity` as the resource list of the inner PersistentVolume.

func (*PersistentVolumeWrapper) HostPathVolumeSource added in v1.26.0

HostPathVolumeSource sets `src` as the host path volume source of the inner PersistentVolume.

func (*PersistentVolumeWrapper) Name added in v1.26.0

Name sets `s` as the name of the inner PersistentVolume.

func (*PersistentVolumeWrapper) Obj added in v1.26.0

Obj returns the inner PersistentVolume.

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

type PodWrapper struct{ v1.Pod }

PodWrapper wraps a Pod inside.

func MakePod added in v1.16.0

func MakePod() *PodWrapper

MakePod creates a Pod wrapper.

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

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) SchedulingGates added in v1.26.0

func (p *PodWrapper) SchedulingGates(gates []string) *PodWrapper

SchedulingGates sets `gates` as additional SchedulerGates 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

type PriorityFunc func(pod *v1.Pod, nodes []*v1.Node) (*framework.NodeScoreList, error)

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

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.

Jump to

Keyboard shortcuts

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