util

package
v1.12.8 Latest Latest
Warning

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

Go to latest
Published: May 6, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultBindAllHostIP = "0.0.0.0"

DefaultBindAllHostIP defines the default ip address used to bind to all host.

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

type Clock interface {
	Now() time.Time
}

Clock provides an interface for getting the current time

type HostPortInfo

type HostPortInfo map[string]map[ProtocolPort]struct{}

HostPortInfo stores mapping from ip to a set of ProtocolPort

func (HostPortInfo) Add

func (h HostPortInfo) Add(ip, protocol string, port int32)

Add adds (ip, protocol, port) to HostPortInfo

func (HostPortInfo) CheckConflict

func (h HostPortInfo) CheckConflict(ip, protocol string, port int32) bool

CheckConflict checks if the input (ip, protocol, port) conflicts with the existing ones in HostPortInfo.

func (HostPortInfo) Len

func (h HostPortInfo) Len() int

Len returns the total number of (ip, protocol, port) tuple in HostPortInfo

func (HostPortInfo) Remove

func (h HostPortInfo) Remove(ip, protocol string, port int32)

Remove removes (ip, protocol, port) from HostPortInfo

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 ProtocolPort

type ProtocolPort struct {
	Protocol string
	Port     int32
}

ProtocolPort represents a protocol port pair, e.g. tcp:80.

func NewProtocolPort

func NewProtocolPort(protocol string, port int32) *ProtocolPort

NewProtocolPort creates a ProtocolPort instance.

type RealClock added in v1.11.8

type RealClock struct{}

RealClock implements a clock using time

func (RealClock) Now added in v1.11.8

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