MCPcopy Create free account

hub / github.com/estafette/estafette-gke-preemptible-killer / functions

Functions64 in github.com/estafette/estafette-gke-preemptible-killer

↓ 8 callersMethodmergeTimespans
mergeTimespans merges time intervals.
whitelist.go:128
↓ 4 callersFunctionApplyJitter
ApplyJitter return a random number
helpers.go:12
↓ 4 callersFunctiongetDesiredNodeState
getDesiredNodeState define the state of the node, update node annotations if not present
main.go:213
↓ 4 callersMethodinitialize
initializeWhitelistHours initializes data structures by taking command line arguments into account.
whitelist.go:59
↓ 4 callersMethodparseArguments
()
whitelist.go:64
↓ 4 callersMethodupdateWhitelistSecondCount
updateWhitelistSecondCount adds the difference between two times to an accumulator.
whitelist.go:182
↓ 3 callersMethodGetNode
GetNode return the node object from given name
kubernetes_client.go:81
↓ 3 callersMethodSetNodeAnnotation
(ctx context.Context, nodeName string, key string, value string)
kubernetes_client.go:28
↓ 3 callersFunctionfilterOutPodByOwnerReferenceKind
filterOutPodByOwnerReferenceKind filter out a list of pods by its owner references kind
kubernetes_client.go:140
↓ 3 callersMethodprocessHours
processHours parses time stamps and passes them to mergeTimespans(), direction can be "+" or "-".
whitelist.go:141
↓ 2 callersMethodDeleteNode
(string)
gcloud.go:20
↓ 2 callersMethodEXPECT
EXPECT returns an object that allows the caller to indicate expected use
kubernetes_client_mock.go:33
↓ 2 callersFunctionNewMockKubernetesClient
NewMockKubernetesClient creates a new mock instance
kubernetes_client_mock.go:26
↓ 2 callersMethodevictPods
(ctx context.Context, pods []v1.Pod, stop <-chan bool)
kubernetes_client.go:367
↓ 2 callersFunctionfilterOutPodByNode
filterOutPodByNode filters out a list of pods by its node
kubernetes_client.go:153
↓ 2 callersFunctiongetCurrentNodeState
getCurrentNodeState return the state of the node by reading its metadata annotations
main.go:201
↓ 1 callersMethodDrainKubeDNSFromNode
(ctx context.Context, nodeName string, drainTimeout int)
kubernetes_client.go:23
↓ 1 callersMethodDrainNode
(ctx context.Context, nodeName string, drainTimeout int)
kubernetes_client.go:22
↓ 1 callersMethodGetPreemptibleNodes
(ctx context.Context, filters map[string]string)
kubernetes_client.go:26
↓ 1 callersMethodGetProjectIdAndZoneFromNode
(ctx context.Context, nodeName string)
kubernetes_client.go:27
↓ 1 callersFunctionNewGCloudClient
NewGCloudClient return a GCloud client
gcloud.go:24
↓ 1 callersFunctionNewKubernetesClient
NewKubernetesClient return a Kubernetes client
kubernetes_client.go:33
↓ 1 callersMethodSetUnschedulableState
(ctx context.Context, nodeName string, unschedulable bool)
kubernetes_client.go:29
↓ 1 callersMethodevictPod
(ctx context.Context, pod v1.Pod, stop <-chan bool)
kubernetes_client.go:416
↓ 1 callersMethodgetExpiryDate
getExpiryDate calculates the expiry date of a node.
whitelist.go:79
↓ 1 callersFunctionprocessNode
processNode returns the time to delete a node after n minutes
main.go:259
MethodDeleteNode
(ctx context.Context, nodeName string)
kubernetes_client.go:25
MethodDeleteNode
(ctx context.Context, nodeName string)
kubernetes_client.go:90
MethodDeleteNode
DeleteNode mocks base method
kubernetes_client_mock.go:81
MethodDeleteNode
DeleteNode indicates an expected call of DeleteNode
kubernetes_client_mock.go:89
MethodDeleteNode
DeleteNode delete a GCloud instance from a given node name
gcloud.go:50
MethodDrainKubeDNSFromNode
DrainKubeDNSFromNode deletes any kube-dns pods running on the node
kubernetes_client.go:266
MethodDrainKubeDNSFromNode
DrainKubeDNSFromNode mocks base method
kubernetes_client_mock.go:52
MethodDrainKubeDNSFromNode
DrainKubeDNSFromNode indicates an expected call of DrainKubeDNSFromNode
kubernetes_client_mock.go:60
MethodDrainNode
DrainNode delete every pods from a given node and wait that all pods are removed before it succeed it also make sure we don't select DaemonSet because
kubernetes_client.go:165
MethodDrainNode
DrainNode mocks base method
kubernetes_client_mock.go:38
MethodDrainNode
DrainNode indicates an expected call of DrainNode
kubernetes_client_mock.go:46
MethodGetNode
(ctx context.Context, nodeName string)
kubernetes_client.go:24
MethodGetNode
GetNode mocks base method
kubernetes_client_mock.go:66
MethodGetNode
GetNode indicates an expected call of GetNode
kubernetes_client_mock.go:75
MethodGetPreemptibleNodes
GetPreemptibleNodes return a list of preemptible node
kubernetes_client.go:60
MethodGetPreemptibleNodes
GetPreemptibleNodes mocks base method
kubernetes_client_mock.go:95
MethodGetPreemptibleNodes
GetPreemptibleNodes indicates an expected call of GetPreemptibleNodes
kubernetes_client_mock.go:104
MethodGetProjectIdAndZoneFromNode
GetProjectIdAndZoneFromNode returns project id and zone from given node name by getting informations from node spec provider id
kubernetes_client.go:45
MethodGetProjectIdAndZoneFromNode
GetProjectIdAndZoneFromNode mocks base method
kubernetes_client_mock.go:110
MethodGetProjectIdAndZoneFromNode
GetProjectIdAndZoneFromNode indicates an expected call of GetProjectIdAndZoneFromNode
kubernetes_client_mock.go:120
MethodSetNodeAnnotation
SetNodeAnnotation add an annotation (key/value) to a node from a given node name As the nodes are constantly being updated, the k8s client doesn't sup
kubernetes_client.go:102
MethodSetNodeAnnotation
SetNodeAnnotation mocks base method
kubernetes_client_mock.go:126
MethodSetNodeAnnotation
SetNodeAnnotation indicates an expected call of SetNodeAnnotation
kubernetes_client_mock.go:134
MethodSetUnschedulableState
SetUnschedulableState set the unschedulable state of a given node name
kubernetes_client.go:121
MethodSetUnschedulableState
SetUnschedulableState mocks base method
kubernetes_client_mock.go:140
MethodSetUnschedulableState
SetUnschedulableState indicates an expected call of SetUnschedulableState
kubernetes_client_mock.go:148
FunctionTestApplyJitter
(t *testing.T)
helpers_test.go:8
FunctionTestFilterOutPodByOwnerReferenceKind
(t *testing.T)
kubernetes_client_test.go:10
FunctionTestGetCurrentNodeState
(t *testing.T)
main_test.go:15
FunctionTestGetDesiredNodeState_BetweenTwelveAndTwentyFour
(t *testing.T)
main_test.go:34
FunctionTestGetDesiredNodeState_NotBeforeNow
(t *testing.T)
main_test.go:75
FunctionTestMergeTimespans
(t *testing.T)
whitelist_test.go:35
FunctionTestProcessHours
(t *testing.T)
whitelist_test.go:88
FunctionTestUpdateWhitelistSecondCount
(t *testing.T)
whitelist_test.go:101
Functioninit
()
whitelist_test.go:16
Functioninit
()
whitelist.go:27
Functioninit
()
main.go:88
Functionmain
()
main.go:93