Commit 32794b18 authored by Tim St. Clair's avatar Tim St. Clair

Fix data race in prober test

parent 8d46df01
......@@ -79,20 +79,34 @@ func NewManager(
runner kubecontainer.ContainerCommandRunner,
refManager *kubecontainer.RefManager,
recorder record.EventRecorder) Manager {
m := newManager(statusManager, livenessManager, runner, refManager, recorder)
m.start()
return m
}
// newManager is the internal version of NewManager for testing.
func newManager(
statusManager status.Manager,
livenessManager results.Manager,
runner kubecontainer.ContainerCommandRunner,
refManager *kubecontainer.RefManager,
recorder record.EventRecorder) *manager {
prober := newProber(runner, refManager, recorder)
readinessManager := results.NewManager()
m := &manager{
return &manager{
statusManager: statusManager,
prober: prober,
readinessManager: readinessManager,
livenessManager: livenessManager,
workers: make(map[probeKey]*worker),
}
}
// start syncing probe status.
func (m *manager) start() {
// Start syncing readiness.
go util.Forever(m.updateReadiness, 0)
return m
}
// Key uniquely identifying container probes
......
......@@ -251,6 +251,7 @@ func TestUpdatePodStatus(t *testing.T) {
func TestUpdateReadiness(t *testing.T) {
testPod := getTestPod(readiness, api.Probe{})
m := newTestManager()
m.start()
m.statusManager.SetPodStatus(&testPod, getTestRunningStatus())
m.AddPod(&testPod)
......
......@@ -95,13 +95,13 @@ func getTestPod(probeType probeType, probeSpec api.Probe) api.Pod {
func newTestManager() *manager {
refManager := kubecontainer.NewRefManager()
refManager.SetRef(testContainerID, &api.ObjectReference{}) // Suppress prober warnings.
m := NewManager(
m := newManager(
status.NewManager(&testclient.Fake{}, kubepod.NewBasicPodManager(nil)),
results.NewManager(),
nil, // runner
refManager,
&record.FakeRecorder{},
).(*manager)
)
// Don't actually execute probes.
m.prober.exec = fakeExecProber{probe.Success, nil}
return m
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment