package
0.0.0-20210719135506-2c9fce15a2ee
Repository: https://github.com/kubernetes-sigs/poseidon.git
Documentation: pkg.go.dev

# Functions

BindPodToNode call Kubernetes API to place a pod on a node.
Run starts a pod watcher.
DeletePod calls Kubernetes API to delete a Pod by its namespace and name.
GenerateUUID is used to generate a UUID.
No description provided by the author
GetClientConfig returns a kubeconfig object which to be passed to a Kubernetes client on initialization.
GetOwnerReference to get the parent object reference.
GetOwnerReference to get the parent object reference.
GetPodCondition extracts the provided condition from the given status and returns that.
GetPodConditionFromList extracts the provided condition from the given list of condition and returns the index of the condition and the condition.
HashCombine combines two values into a new hash code.
New initializes a firmament and Kubernetes client and starts watching Pod and Node.
NewK8sPodWatcher initialize a PodWatcher.
NewKeyedQueue initializes a queue.
NewNodeWatcher initializes a NodeWatcher based on the given Kubernetes client and Firmament client.
No description provided by the author
NewPodWatcher initialize a PodWatcher.
NewPoseidonEvents singleton Events object create function.
NodeInfoUpdated wait till the nodes info are updated by the node watcher can also be replaces with the wait package poll methods.
SortNodeSelectorsKey sort node selectors keys and return an slice of sorted keys.
No description provided by the author
Updates existing pod condition or creates a new one.

# Constants

CreatedByAnnotation represents the original Kubernetes `kubernetes.io/created-by` annotation.
Redefine below Annotation key as that is deprecated from original Kubernetes.
NodeAdded represents a node added phase.
NodeDeleted represents a node deleted phase.
NodeFailed represents a node failed phase.
NodeUpdated represents a node updated phase.
PodDeleted is an internal phase used for removed pods.
PodFailed is an internal phase used for failed pods.
PodPending is an internal phase used for unscheduled pods.
PodRunning is an internal phase used for running pods.
PodSucceeded is an internal phase used for successfully existed pods.
PodUnknown is an internal phase used for state unknown pods.
PodUpdated is an internal phase for pods that are externally updated.

# Variables

No description provided by the author
No description provided by the author
NodeMux is used to guard access to the node and resource related maps.
NodeToRTND maps node name to firmament resource topology node descriptor.
PodMux is used to guard access to the pod, task and job related maps.
No description provided by the author
No description provided by the author
PodToTD maps Kubernetes pod identifier(namespace + name) to firmament task descriptor.
map will have all the pods whose failure/unscheduled events are processed.
No description provided by the author
ResIDToNode maps resource ID to node name.
TaskIDToPod maps firmament task ID to Kubernetes pod identifier(namespace + name).

# Structs

No description provided by the author
BindInfo.
PodWatcher is a Kubernetes pod watcher.
Node is an internal structure for a Kubernetes node.
No description provided by the author
No description provided by the author
Node Affinity Struct.
A null or empty node selector term matches no objects.
NodeWatcher is a Kubernetes node watcher.
Pod is an internal structure for a Kubernetes pod.
No description provided by the author
No description provided by the author
No description provided by the author
PodIdentifier is used to identify a pod by its namespace and name.
PodWatcher is a Kubernetes pod watcher.
No description provided by the author
No description provided by the author
No description provided by the author
The pod this Toleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
Type implements the Queue interface.
No description provided by the author

# Interfaces

Queue is an interface which abstracts a queue.

# Type aliases

NodePhase represents a node phase.
NodeSelectors stores Kubernetes node selectors.
PodPhase represents a pod phase.