mirror of
				https://github.com/k3s-io/kubernetes.git
				synced 2025-10-31 13:50:01 +00:00 
			
		
		
		
	Added case on 'terminated-but-not-yet-deleted' for Admit.
This commit is contained in:
		| @@ -729,9 +729,8 @@ func (kl *Kubelet) getPullSecretsForPod(pod *v1.Pod) []v1.Secret { | ||||
| 	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 { | ||||
| 	var status v1.PodStatus | ||||
| 	// Check the cached pod status which was set after the last sync. | ||||
| 	status, ok := kl.statusManager.GetPodStatus(pod.UID) | ||||
| 	if !ok { | ||||
|   | ||||
| @@ -1249,10 +1249,21 @@ func TestFilterOutTerminatedPods(t *testing.T) { | ||||
| 	defer testKubelet.Cleanup() | ||||
| 	kubelet := testKubelet.kubelet | ||||
| 	pods := newTestPods(5) | ||||
| 	now := metav1.NewTime(time.Now()) | ||||
| 	pods[0].Status.Phase = v1.PodFailed | ||||
| 	pods[1].Status.Phase = v1.PodSucceeded | ||||
| 	// The pod is terminating, should not filter out. | ||||
| 	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[4].Status.Phase = v1.PodRunning | ||||
|  | ||||
| 	expected := []*v1.Pod{pods[2], pods[3], pods[4]} | ||||
| 	kubelet.podManager.SetPods(pods) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user