Merge pull request #6509 from tstromberg/faster-health
Remove pod list stability double checkpull/6520/head
commit
88c51d7971
|
@ -71,31 +71,21 @@ func apiServerPID(cr command.Runner) (int, error) {
|
|||
func SystemPods(client *kubernetes.Clientset, start time.Time, timeout time.Duration) error {
|
||||
glog.Info("waiting for kube-system pods to appear ...")
|
||||
pStart := time.Now()
|
||||
podStart := time.Time{}
|
||||
podList := func() (bool, error) {
|
||||
if time.Since(start) > timeout {
|
||||
return false, fmt.Errorf("cluster wait timed out during pod check")
|
||||
}
|
||||
// Wait for any system pod, as waiting for apiserver may block until etcd
|
||||
pods, err := client.CoreV1().Pods("kube-system").List(meta.ListOptions{})
|
||||
if len(pods.Items) < 2 {
|
||||
podStart = time.Time{}
|
||||
return false, nil
|
||||
}
|
||||
if err != nil {
|
||||
podStart = time.Time{}
|
||||
glog.Warningf("pod list returned error: %v", err)
|
||||
return false, nil
|
||||
}
|
||||
if podStart.IsZero() {
|
||||
podStart = time.Now()
|
||||
glog.Infof("%d kube-system pods found", len(pods.Items))
|
||||
if len(pods.Items) < 2 {
|
||||
return false, nil
|
||||
}
|
||||
|
||||
glog.Infof("%d kube-system pods found since %s", len(pods.Items), podStart)
|
||||
if time.Since(podStart) > 2*kconst.APICallRetryInterval {
|
||||
glog.Infof("stability requirement met, returning")
|
||||
return true, nil
|
||||
}
|
||||
return false, nil
|
||||
return true, nil
|
||||
}
|
||||
if err := wait.PollImmediate(kconst.APICallRetryInterval, kconst.DefaultControlPlaneTimeout, podList); err != nil {
|
||||
return fmt.Errorf("apiserver never returned a pod list")
|
||||
|
|
Loading…
Reference in New Issue