mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 14:07:14 +00:00
controller expectations for deletion can be met by 404
This commit is contained in:
parent
963adda7f9
commit
a2ee93b531
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user