mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	controller expectations for deletion can be met by 404
This commit is contained in:
		@@ -27,6 +27,7 @@ import (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	apps "k8s.io/api/apps/v1"
 | 
						apps "k8s.io/api/apps/v1"
 | 
				
			||||||
	"k8s.io/api/core/v1"
 | 
						"k8s.io/api/core/v1"
 | 
				
			||||||
 | 
						apierrors "k8s.io/apimachinery/pkg/api/errors"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/api/meta"
 | 
						"k8s.io/apimachinery/pkg/api/meta"
 | 
				
			||||||
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
						metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | 
				
			||||||
	"k8s.io/apimachinery/pkg/labels"
 | 
						"k8s.io/apimachinery/pkg/labels"
 | 
				
			||||||
@@ -595,7 +596,7 @@ func (r RealPodControl) DeletePod(namespace string, podID string, object runtime
 | 
				
			|||||||
		return fmt.Errorf("object does not have ObjectMeta, %v", err)
 | 
							return fmt.Errorf("object does not have ObjectMeta, %v", err)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	glog.V(2).Infof("Controller %v deleting pod %v/%v", accessor.GetName(), namespace, podID)
 | 
						glog.V(2).Infof("Controller %v deleting pod %v/%v", accessor.GetName(), namespace, podID)
 | 
				
			||||||
	if err := r.KubeClient.CoreV1().Pods(namespace).Delete(podID, nil); err != nil {
 | 
						if err := r.KubeClient.CoreV1().Pods(namespace).Delete(podID, nil); err != nil && !apierrors.IsNotFound(err) {
 | 
				
			||||||
		r.Recorder.Eventf(object, v1.EventTypeWarning, FailedDeletePodReason, "Error deleting: %v", err)
 | 
							r.Recorder.Eventf(object, v1.EventTypeWarning, FailedDeletePodReason, "Error deleting: %v", err)
 | 
				
			||||||
		return fmt.Errorf("unable to delete pods: %v", err)
 | 
							return fmt.Errorf("unable to delete pods: %v", err)
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -314,6 +314,19 @@ func TestCreatePods(t *testing.T) {
 | 
				
			|||||||
		"Body: %s", fakeHandler.RequestBody)
 | 
							"Body: %s", fakeHandler.RequestBody)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestDeletePodsAllowsMissing(t *testing.T) {
 | 
				
			||||||
 | 
						fakeClient := fake.NewSimpleClientset()
 | 
				
			||||||
 | 
						podControl := RealPodControl{
 | 
				
			||||||
 | 
							KubeClient: fakeClient,
 | 
				
			||||||
 | 
							Recorder:   &record.FakeRecorder{},
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						controllerSpec := newReplicationController(1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						err := podControl.DeletePod("namespace-name", "podName", controllerSpec)
 | 
				
			||||||
 | 
						assert.NoError(t, err, "unexpected error: %v", err)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestActivePodFiltering(t *testing.T) {
 | 
					func TestActivePodFiltering(t *testing.T) {
 | 
				
			||||||
	// This rc is not needed by the test, only the newPodList to give the pods labels/a namespace.
 | 
						// This rc is not needed by the test, only the newPodList to give the pods labels/a namespace.
 | 
				
			||||||
	rc := newReplicationController(0)
 | 
						rc := newReplicationController(0)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user