util

package
v0.0.0-...-d75b2e9 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetContainerPorts

func GetContainerPorts(pods ...*v1.Pod) []*v1.ContainerPort

GetContainerPorts returns the used host ports of Pods: if 'port' was used, a 'port:true' pair will be in the result; but it does not resolve port conflict.

func GetPodFullName

func GetPodFullName(pod *v1.Pod) string

GetPodFullName returns a name that uniquely identifies a pod.

func GetPodPriority

func GetPodPriority(pod *v1.Pod) int32

GetPodPriority return priority of the given pod.

func HigherPriorityPod

func HigherPriorityPod(pod1, pod2 interface{}) bool

HigherPriorityPod return true when priority of the first pod is higher than the second one. It takes arguments of the type "interface{}" to be used with SortableList, but expects those arguments to be *v1.Pod.

func PodPriorityEnabled

func PodPriorityEnabled() bool

PodPriorityEnabled indicates whether pod priority feature is enabled.

Types

type BackoffEntry

type BackoffEntry struct {
	// contains filtered or unexported fields
}

BackoffEntry is single threaded. in particular, it only allows a single action to be waiting on backoff at a time. It is expected that all users will only use the public TryWait(...) method It is also not safe to copy this object.

func (*BackoffEntry) TryWait

func (b *BackoffEntry) TryWait(maxDuration time.Duration) bool

TryWait tries to acquire the backoff lock, maxDuration is the maximum allowed period to wait for.

type Clock

type Clock interface {
	Now() time.Time
}

Clock provides an interface for getting the current time

type LessFunc

type LessFunc func(item1, item2 interface{}) bool

LessFunc is a function that receives two items and returns true if the first item should be placed before the second one when the list is sorted.

type PodBackoff

type PodBackoff struct {
	// contains filtered or unexported fields
}

PodBackoff is used to restart a pod with back-off delay.

func CreateDefaultPodBackoff

func CreateDefaultPodBackoff() *PodBackoff

CreateDefaultPodBackoff creates a default pod back-off object.

func CreatePodBackoff

func CreatePodBackoff(defaultDuration, maxDuration time.Duration) *PodBackoff

CreatePodBackoff creates a pod back-off object by default duration and max duration.

func CreatePodBackoffWithClock

func CreatePodBackoffWithClock(defaultDuration, maxDuration time.Duration, clock clock) *PodBackoff

CreatePodBackoffWithClock creates a pod back-off object by default duration, max duration and clock.

func (*PodBackoff) Gc

func (p *PodBackoff) Gc()

Gc execute garbage collection on the pod back-off.

func (*PodBackoff) GetEntry

func (p *PodBackoff) GetEntry(podID ktypes.NamespacedName) *BackoffEntry

GetEntry returns a back-off entry by Pod ID.

func (*PodBackoff) MaxDuration

func (p *PodBackoff) MaxDuration() time.Duration

MaxDuration returns the max time duration of the back-off.

type RealClock

type RealClock struct{}

RealClock implements a clock using time

func (RealClock) Now

func (RealClock) Now() time.Time

Now returns the current time with time.Now

type SortableList

type SortableList struct {
	Items    []interface{}
	CompFunc LessFunc
}

SortableList is a list that implements sort.Interface.

func (*SortableList) Len

func (l *SortableList) Len() int

func (*SortableList) Less

func (l *SortableList) Less(i, j int) bool

func (*SortableList) Sort

func (l *SortableList) Sort()

Sort sorts the items in the list using the given CompFunc. Item1 is placed before Item2 when CompFunc(Item1, Item2) returns true.

func (*SortableList) Swap

func (l *SortableList) Swap(i, j int)

Jump to

Keyboard shortcuts

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