Skip to main content

DemystifyPending

DemystifyPending is one the core functions, that helps FlytePropeller determine if a pending pod is indeed pending, or it is actually stuck in a un-reparable state. In such a case the pod should be marked as dead and the task should be retried.

def DemystifyPending(
status: v1.PodStatus,
info: pluginsCore.TaskInfo
) - > pluginsCore.PhaseInfo, error

Determines if a pending Kubernetes pod is genuinely pending or stuck in an unrecoverable state, allowing FlytePropeller to mark it as dead and retry the task. This function addresses the challenge of Kubernetes being designed for long-running services, whereas Flyte pods require automated failure handling.

Parameters

NameTypeDescription
statusv1.PodStatusThe current status of the Kubernetes pod, providing details like container states, conditions, and reasons for its pending state.
infopluginsCore.TaskInfoAdditional information about the task associated with the pod, used for context and potential updates.

Returns

TypeDescription
pluginsCore.PhaseInfo, errorA PhaseInfo object indicating the pod's current phase (e.g., queued, terminal, or system retryable failure) and an error if one occurred during processing.