mirror of https://github.com/k3s-io/k3s
Added case on 'terminated-but-not-yet-deleted' for Admit.
parent
956acc2bd8
commit
ddfa04eaac
|
@ -729,9 +729,8 @@ func (kl *Kubelet) getPullSecretsForPod(pod *v1.Pod) []v1.Secret {
|
||||||
return pullSecrets
|
return pullSecrets
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns true if pod is in the terminated state ("Failed" or "Succeeded").
|
// podIsTerminated returns true if pod is in the terminated state ("Failed" or "Succeeded").
|
||||||
func (kl *Kubelet) podIsTerminated(pod *v1.Pod) bool {
|
func (kl *Kubelet) podIsTerminated(pod *v1.Pod) bool {
|
||||||
var status v1.PodStatus
|
|
||||||
// Check the cached pod status which was set after the last sync.
|
// Check the cached pod status which was set after the last sync.
|
||||||
status, ok := kl.statusManager.GetPodStatus(pod.UID)
|
status, ok := kl.statusManager.GetPodStatus(pod.UID)
|
||||||
if !ok {
|
if !ok {
|
||||||
|
|
|
@ -1249,10 +1249,21 @@ func TestFilterOutTerminatedPods(t *testing.T) {
|
||||||
defer testKubelet.Cleanup()
|
defer testKubelet.Cleanup()
|
||||||
kubelet := testKubelet.kubelet
|
kubelet := testKubelet.kubelet
|
||||||
pods := newTestPods(5)
|
pods := newTestPods(5)
|
||||||
|
now := metav1.NewTime(time.Now())
|
||||||
pods[0].Status.Phase = v1.PodFailed
|
pods[0].Status.Phase = v1.PodFailed
|
||||||
pods[1].Status.Phase = v1.PodSucceeded
|
pods[1].Status.Phase = v1.PodSucceeded
|
||||||
|
// The pod is terminating, should not filter out.
|
||||||
pods[2].Status.Phase = v1.PodRunning
|
pods[2].Status.Phase = v1.PodRunning
|
||||||
|
pods[2].DeletionTimestamp = &now
|
||||||
|
pods[2].Status.ContainerStatuses = []v1.ContainerStatus{
|
||||||
|
{State: v1.ContainerState{
|
||||||
|
Running: &v1.ContainerStateRunning{
|
||||||
|
StartedAt: now,
|
||||||
|
},
|
||||||
|
}},
|
||||||
|
}
|
||||||
pods[3].Status.Phase = v1.PodPending
|
pods[3].Status.Phase = v1.PodPending
|
||||||
|
pods[4].Status.Phase = v1.PodRunning
|
||||||
|
|
||||||
expected := []*v1.Pod{pods[2], pods[3], pods[4]}
|
expected := []*v1.Pod{pods[2], pods[3], pods[4]}
|
||||||
kubelet.podManager.SetPods(pods)
|
kubelet.podManager.SetPods(pods)
|
||||||
|
|
Loading…
Reference in New Issue