Add pod disruption conditions for kubelet initiated failures
This commit is contained in:
@@ -999,7 +999,10 @@ func (dc *DisruptionController) nonTerminatingPodHasStaleDisruptionCondition(pod
|
||||
return false, 0
|
||||
}
|
||||
_, cond := apipod.GetPodCondition(&pod.Status, v1.AlphaNoCompatGuaranteeDisruptionTarget)
|
||||
if cond == nil || cond.Status != v1.ConditionTrue {
|
||||
// Pod disruption conditions added by kubelet are never considered stale because the condition might take
|
||||
// arbitrarily long before the pod is terminating (has deletion timestamp). Also, pod conditions present
|
||||
// on pods in terminal phase are not stale to avoid unnecessary status updates.
|
||||
if cond == nil || cond.Status != v1.ConditionTrue || cond.Reason == v1.AlphaNoCompatGuaranteePodReasonTerminationByKubelet || apipod.IsPodPhaseTerminal(pod.Status.Phase) {
|
||||
return false, 0
|
||||
}
|
||||
waitFor := dc.stalePodDisruptionTimeout - dc.clock.Since(cond.LastTransitionTime.Time)
|
||||
|
Reference in New Issue
Block a user