# Packages

No description provided by the author

# Functions

NewExtender is responsible for creating and initializing a SparkSchedulerExtender.
NewOverheadComputer creates a new OverheadComputer instance.
NewResourceReservationManager creates and returns a ResourceReservationManager.
NewSparkPodLister creates and initializes a SparkPodLister.
NewUnschedulablePodMarker creates a new UnschedulablePodMarker.
StartDemandGC initializes the DemandGC which handles events in the background.

# Structs

DemandGC is a background pod event handler which deletes any demand we have previously created for a pod when a pod gets scheduled.
OverheadComputer computes non spark scheduler managed pods total resources periodically.
PodRequestInfo holds information about a pod and its requested resources.
SparkPodLister is a PodLister which can also list drivers per node selector.
SparkSchedulerExtender is a kubernetes scheduler extended responsible for ensuring a spark driver and all of the executors can be scheduled together given current resources available across the nodes.
UnschedulablePodMarker checks for spark scheduler managed pending driver pods and checks if they can fit if the cluster was empty, else marks them with a custom pod condition.

# Interfaces

ResourceReservationManager is a central point which manages the creation and reading of both resource reservations and soft reservations.

# Type aliases

ClusterRequests represents the pod requests in the cluster, indexed by node name.
NodeRequests represents the currently present pod requests on this node, indexed by pod uid.