Skip to content

Commit

Permalink
Merge pull request kubernetes#23141 from yujuhong/fix_race
Browse files Browse the repository at this point in the history
Auto commit by PR queue bot
(cherry picked from commit 61b9a21)
  • Loading branch information
k8s-merge-robot authored and Alena Prokharchyk committed May 20, 2016
1 parent 643f19b commit b589db2
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 13 deletions.
11 changes: 1 addition & 10 deletions pkg/kubelet/config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -238,16 +238,7 @@ func (s *podStorage) merge(source string, change interface{}) (adds, updates, de
}
recordFirstSeenTime(ref)
pods[name] = ref
// If a pod is not found in the cache, and it's also not in the
// pending phase, it implies that kubelet may have restarted.
// Treat this pod as update so that kubelet wouldn't reject the
// pod in the admission process.
if ref.Status.Phase != api.PodPending {
updatePods = append(updatePods, ref)
} else {
// this is an add
addPods = append(addPods, ref)
}
addPods = append(addPods, ref)
}
}

Expand Down
3 changes: 0 additions & 3 deletions pkg/kubelet/config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,6 @@ func CreateValidPod(name, namespace string) *api.Pod {
},
},
},
Status: api.PodStatus{
Phase: api.PodPending,
},
}
}

Expand Down
4 changes: 4 additions & 0 deletions pkg/kubelet/kubelet.go
Original file line number Diff line number Diff line change
Expand Up @@ -2386,6 +2386,10 @@ func (kl *Kubelet) syncLoopIteration(updates <-chan kubetypes.PodUpdate, handler
switch u.Op {
case kubetypes.ADD:
glog.V(2).Infof("SyncLoop (ADD, %q): %q", u.Source, format.Pods(u.Pods))
// After restarting, kubelet will get all existing pods through
// ADD as if they are new pods. These pods will then go through the
// admission process and *may* be rejcted. This can be resolved
// once we have checkpointing.
handler.HandlePodAdditions(u.Pods)
case kubetypes.UPDATE:
glog.V(2).Infof("SyncLoop (UPDATE, %q): %q", u.Source, format.Pods(u.Pods))
Expand Down

0 comments on commit b589db2

Please sign in to comment.