package util

import "k8s.io/kubernetes/pkg/controller/daemon/util"

Index

Functions

func AppendNoScheduleTolerationIfNotExist

func AppendNoScheduleTolerationIfNotExist(tolerations []v1.Toleration) []v1.Toleration

AppendNoScheduleTolerationIfNotExist appends unschedulable toleration to `.spec` if not exist; otherwise, no changes to `.spec.tolerations`.

func CreatePodTemplate

func CreatePodTemplate(template v1.PodTemplateSpec, generation *int64, hash string) v1.PodTemplateSpec

CreatePodTemplate returns copy of provided template with additional label which contains templateGeneration (for backward compatibility), hash of provided template and sets default daemon tolerations.

func GetTemplateGeneration

func GetTemplateGeneration(ds *apps.DaemonSet) (*int64, error)

GetTemplateGeneration gets the template generation associated with a v1.DaemonSet by extracting it from the deprecated annotation. If no annotation is found nil is returned. If the annotation is found and fails to parse nil is returned with an error. If the generation can be parsed from the annotation, a pointer to the parsed int64 value is returned.

func IsPodUpdated

func IsPodUpdated(pod *v1.Pod, hash string, dsTemplateGeneration *int64) bool

IsPodUpdated checks if pod contains label value that either matches templateGeneration or hash

func ReplaceDaemonSetPodHostnameNodeAffinity

func ReplaceDaemonSetPodHostnameNodeAffinity(affinity *v1.Affinity, nodename string) *v1.Affinity

ReplaceDaemonSetPodHostnameNodeAffinity replaces the 'kubernetes.io/hostname' NodeAffinity term with the given "nodeName" in the "affinity" terms.

func SplitByAvailablePods

func SplitByAvailablePods(minReadySeconds int32, pods []*v1.Pod) ([]*v1.Pod, []*v1.Pod)

SplitByAvailablePods splits provided daemon set pods by availability

Source Files

daemonset_util.go

Version
v1.10.12
Published
Dec 16, 2018
Platform
js/wasm
Imports
14 packages
Last checked
1 minute ago

Tools for package owners.