Merge pull request #13918 from mesosphere/reconcile-ignore-mirror-pods

Auto commit by PR queue bot
pull/6/head
k8s-merge-robot 2015-09-17 02:36:31 -07:00
commit a204f31516
1 changed files with 7 additions and 0 deletions

View File

@ -45,6 +45,7 @@ import (
"k8s.io/kubernetes/pkg/api/errors"
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/kubelet"
"k8s.io/kubernetes/pkg/kubelet/container"
"k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/tools"
@ -876,6 +877,12 @@ func (ks *KubernetesScheduler) recoverTasks() error {
ks.slaveHostNames.Register(slaveId, t.Offer.Host())
}
for _, pod := range podList.Items {
if _, isMirrorPod := pod.Annotations[kubelet.ConfigMirrorAnnotationKey]; isMirrorPod {
// mirrored pods are never reconciled because the scheduler isn't responsible for
// scheduling them; they're started by the executor/kubelet upon instantiation and
// reflected in the apiserver afterward. the scheduler has no knowledge of them.
continue
}
if t, ok, err := podtask.RecoverFrom(pod); err != nil {
log.Errorf("failed to recover task from pod, will attempt to delete '%v/%v': %v", pod.Namespace, pod.Name, err)
err := ks.client.Pods(pod.Namespace).Delete(pod.Name, nil)