diff --git a/pkg/kubelet/container/container_reference_manager.go b/pkg/kubelet/container/container_reference_manager.go index 0bcec8861e6..0cb3097b0f7 100644 --- a/pkg/kubelet/container/container_reference_manager.go +++ b/pkg/kubelet/container/container_reference_manager.go @@ -46,8 +46,6 @@ func (c *RefManager) SetRef(id string, ref *api.ObjectReference) { } // ClearRef forgets the given container id and its associated container reference. -// TODO(yifan): This is currently never called. Consider to remove this function, -// or figure out when to clear the references. func (c *RefManager) ClearRef(id string) { c.Lock() defer c.Unlock() diff --git a/pkg/kubelet/dockertools/manager.go b/pkg/kubelet/dockertools/manager.go index b71983e6b8e..3aacf8633af 100644 --- a/pkg/kubelet/dockertools/manager.go +++ b/pkg/kubelet/dockertools/manager.go @@ -1294,6 +1294,7 @@ func (dm *DockerManager) killContainer(containerID types.UID, container *api.Con } else { // TODO: pass reason down here, and state, or move this call up the stack. dm.recorder.Eventf(ref, "Killing", "Killing with docker id %v", util.ShortenString(ID, 12)) + dm.containerRefManager.ClearRef(ID) } return err } diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index 87255b66a47..164242faa56 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -726,6 +726,7 @@ func (r *runtime) GetPods(all bool) ([]*kubecontainer.Pod, error) { } // KillPod invokes 'systemctl kill' to kill the unit that runs the pod. +// TODO(yifan): Handle network plugin. func (r *runtime) KillPod(pod *api.Pod, runningPod kubecontainer.Pod) error { glog.V(4).Infof("Rkt is killing pod: name %q.", runningPod.Name) serviceName := makePodServiceFileName(runningPod.ID) @@ -948,7 +949,6 @@ func (r *runtime) SyncPod(pod *api.Pod, runningPod kubecontainer.Pod, podStatus } if restartPod { - // TODO(yifan): Handle network plugin. if err := r.KillPod(pod, runningPod); err != nil { return err }