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 | 	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) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user