Mesos: create static pod file source only for configured static pods

The file source was created even when no static pods were configured.
In this case it was never marked as seen. As a consequence the kubelet
syncPods functions never deleted pods because it was too cautious due
an unseen pod source, leading to leaked pods.
This commit is contained in:
Dr. Stefan Schimanski 2015-06-23 12:20:59 +02:00
parent ebeb104493
commit 9e0c9b4f5a

View File

@ -387,8 +387,10 @@ func (ks *KubeletExecutorServer) createAndInitKubelet(
StaticPodsConfigPath: staticPodsConfigPath,
})
fileSourceUpdates := pc.Channel(kubelet.FileSource)
go exec.InitializeStaticPodsSource(func() {
// Create file source only when we are called back. Otherwise, it is never marked unseen.
fileSourceUpdates := pc.Channel(kubelet.FileSource)
kconfig.NewSourceFile(staticPodsConfigPath, kc.Hostname, kc.FileCheckFrequency, fileSourceUpdates)
})