From 35565e47a723d194e933e97150b42cedd2556c78 Mon Sep 17 00:00:00 2001 From: James DeFelice Date: Fri, 29 Jan 2016 21:37:12 +0000 Subject: [PATCH] send TASK_LOST when apiserver returns pod-not-found --- contrib/mesos/pkg/executor/executor.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contrib/mesos/pkg/executor/executor.go b/contrib/mesos/pkg/executor/executor.go index 3edb92697e0..264a823038c 100644 --- a/contrib/mesos/pkg/executor/executor.go +++ b/contrib/mesos/pkg/executor/executor.go @@ -39,6 +39,7 @@ import ( "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/executorinfo" "k8s.io/kubernetes/contrib/mesos/pkg/scheduler/meta" "k8s.io/kubernetes/pkg/api" + apierrors "k8s.io/kubernetes/pkg/api/errors" client "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/kubelet/container" "k8s.io/kubernetes/pkg/kubelet/dockertools" @@ -545,6 +546,9 @@ func (k *Executor) killPodTask(driver bindings.ExecutorDriver, taskID string) { err := k.kubeAPI.killPod(pod.Namespace, pod.Name) if err != nil { log.V(1).Infof("failed to delete task %v pod %v/%v from apiserver: %+v", taskID, pod.Namespace, pod.Name, err) + if apierrors.IsNotFound(err) { + k.sendStatus(driver, newStatus(&mesos.TaskID{Value: &taskID}, mesos.TaskState_TASK_LOST, "kill-pod-task")) + } } }