From 276fb1731c4e7e4d69276297093f6f71e3d9eb0f Mon Sep 17 00:00:00 2001 From: Yifan Gu Date: Fri, 6 Mar 2015 16:52:31 -0800 Subject: [PATCH] Refactor pkg/kubelet/kubelet.go: probeContainer(). Put the retry loop in probe.go into a function. --- pkg/kubelet/probe.go | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/pkg/kubelet/probe.go b/pkg/kubelet/probe.go index aa887d394a6..b22f250d4c7 100644 --- a/pkg/kubelet/probe.go +++ b/pkg/kubelet/probe.go @@ -86,16 +86,7 @@ func (kl *Kubelet) probeContainerLiveness(pod *api.BoundPod, status api.PodStatu if time.Now().Unix()-dockerContainer.Created < p.InitialDelaySeconds { return probe.Success, nil } - - var result probe.Result - var err error - for i := 0; i < maxProbeRetries; i++ { - result, err = kl.runProbe(p, pod, status, container) - if result == probe.Success { - return probe.Success, err - } - } - return result, err + return kl.runProbeWithRetries(p, pod, status, container, maxProbeRetries) } // probeContainerLiveness probes the readiness of a container. @@ -108,13 +99,18 @@ func (kl *Kubelet) probeContainerReadiness(pod *api.BoundPod, status api.PodStat if time.Now().Unix()-dockerContainer.Created < p.InitialDelaySeconds { return probe.Failure, nil } + return kl.runProbeWithRetries(p, pod, status, container, maxProbeRetries) +} - var result probe.Result +// runProbeWithRetries tries to probe the container in a finite loop, it returns the last result +// if it never succeeds. +func (kl *Kubelet) runProbeWithRetries(p *api.Probe, pod *api.BoundPod, status api.PodStatus, container api.Container, retires int) (probe.Result, error) { var err error - for i := 0; i < maxProbeRetries; i++ { + var result probe.Result + for i := 0; i < retires; i++ { result, err = kl.runProbe(p, pod, status, container) if result == probe.Success { - return probe.Success, err + return probe.Success, nil } } return result, err