kubernetes/pkg/controller/tainteviction/taint_eviction.go

const NodeUpdateChannelSize

const UpdateWorkerSize

const podUpdateChannelSize

const retries

type nodeUpdateItem

type podUpdateItem

func hash(val string, max int) int {}

type GetPodsByNodeNameFunc

type Controller

func deletePodHandler(c clientset.Interface, emitEventFunc func(types.NamespacedName), controllerName string) func(ctx context.Context, fireAt time.Time, args *WorkArgs) error {}

func addConditionAndDeletePod(ctx context.Context, c clientset.Interface, name, ns string) (err error) {}

func getNoExecuteTaints(taints []v1.Taint) []v1.Taint {}

// getMinTolerationTime returns minimal toleration time from the given slice, or -1 if it's infinite.
func getMinTolerationTime(tolerations []v1.Toleration) time.Duration {}

// New creates a new Controller that will use passed clientset to communicate with the API server.
func New(ctx context.Context, c clientset.Interface, podInformer corev1informers.PodInformer, nodeInformer corev1informers.NodeInformer, controllerName string) (*Controller, error) {}

// Run starts the controller which will run in loop until `stopCh` is closed.
func (tc *Controller) Run(ctx context.Context) {}

func (tc *Controller) worker(ctx context.Context, worker int, done func(), stopCh <-chan struct{}

// PodUpdated is used to notify NoExecuteTaintManager about Pod changes.
func (tc *Controller) PodUpdated(oldPod *v1.Pod, newPod *v1.Pod) {}

// NodeUpdated is used to notify NoExecuteTaintManager about Node changes.
func (tc *Controller) NodeUpdated(oldNode *v1.Node, newNode *v1.Node) {}

func (tc *Controller) cancelWorkWithEvent(logger klog.Logger, nsName types.NamespacedName) {}

func (tc *Controller) processPodOnNode(
	ctx context.Context,
	podNamespacedName types.NamespacedName,
	nodeName string,
	tolerations []v1.Toleration,
	taints []v1.Taint,
	now time.Time,
) {}

func (tc *Controller) handlePodUpdate(ctx context.Context, podUpdate podUpdateItem) {}

func (tc *Controller) handleNodeUpdate(ctx context.Context, nodeUpdate nodeUpdateItem) {}

func (tc *Controller) emitPodDeletionEvent(nsName types.NamespacedName) {}

func (tc *Controller) emitCancelPodDeletionEvent(nsName types.NamespacedName) {}