util

package
v0.0.0-...-4f90778 Latest Latest
Warning

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

Go to latest
Published: Jul 2, 2024 License: Apache-2.0 Imports: 20 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 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 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)

type TestGroup

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

TestGroup defines a api group for testing.

var (
	// Groups defines a TestGroup map.
	Groups = make(map[string]TestGroup)
	// Test defines a TestGroup object.
	Test TestGroup
)

func (TestGroup) Codec

func (g TestGroup) Codec() runtime.Codec

Codec returns the codec for the API version to test against, as set by the KUBE_TEST_API_TYPE env var.

func (TestGroup) ResourcePath

func (g TestGroup) ResourcePath(resource, namespace, name string) string

ResourcePath returns the appropriate path for the given resource, namespace and name. For example, this is of the form: /api/v1/namespaces/foo/pods/pod0 for v1.

func (TestGroup) ResourcePathWithPrefix

func (g TestGroup) ResourcePathWithPrefix(prefix, resource, namespace, name string) string

ResourcePathWithPrefix returns the appropriate path for the given prefix (watch, proxy, redirect, etc), resource, namespace and name. For ex, this is of the form: /api/v1/watch/namespaces/foo/pods/pod0 for v1.

func (g TestGroup) SelfLink(resource, name string) string

SelfLink returns a self link that will appear to be for the version Version(). 'resource' should be the resource path, e.g. "pods" for the Pod type. 'name' should be empty for lists.

func (TestGroup) SubResourcePath

func (g TestGroup) SubResourcePath(resource, namespace, name, sub string) string

SubResourcePath returns the appropriate path for the given resource, namespace, name and subresource.

Jump to

Keyboard shortcuts

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