Commit 557d4250 authored by Brad Davidson's avatar Brad Davidson Committed by Brad Davidson

Minor cleanup on cribbed function

Signed-off-by: 's avatarBrad Davidson <brad.davidson@rancher.com> (cherry picked from commit 57377d2c)
parent 4f28561e
...@@ -8,6 +8,8 @@ import ( ...@@ -8,6 +8,8 @@ import (
"strconv" "strconv"
"time" "time"
"github.com/pkg/errors"
"github.com/rancher/wrangler/pkg/merr"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/util/wait"
...@@ -38,12 +40,13 @@ func GetAddresses(endpoint *v1.Endpoints) []string { ...@@ -38,12 +40,13 @@ func GetAddresses(endpoint *v1.Endpoints) []string {
// This is cribbed from the Kubernetes controller-manager app, but checks the readyz endpoint instead of the deprecated healthz endpoint. // This is cribbed from the Kubernetes controller-manager app, but checks the readyz endpoint instead of the deprecated healthz endpoint.
func WaitForAPIServerReady(client clientset.Interface, timeout time.Duration) error { func WaitForAPIServerReady(client clientset.Interface, timeout time.Duration) error {
var lastErr error var lastErr error
restClient := client.Discovery().RESTClient()
err := wait.PollImmediate(time.Second, timeout, func() (bool, error) { err := wait.PollImmediate(time.Second, timeout, func() (bool, error) {
healthStatus := 0 healthStatus := 0
result := client.Discovery().RESTClient().Get().AbsPath("/readyz").Do(context.TODO()).StatusCode(&healthStatus) result := restClient.Get().AbsPath("/readyz").Do(context.TODO()).StatusCode(&healthStatus)
if result.Error() != nil { if rerr := result.Error(); rerr != nil {
lastErr = fmt.Errorf("failed to get apiserver /readyz status: %v", result.Error()) lastErr = errors.Wrap(rerr, "failed to get apiserver /readyz status")
return false, nil return false, nil
} }
if healthStatus != http.StatusOK { if healthStatus != http.StatusOK {
...@@ -57,7 +60,7 @@ func WaitForAPIServerReady(client clientset.Interface, timeout time.Duration) er ...@@ -57,7 +60,7 @@ func WaitForAPIServerReady(client clientset.Interface, timeout time.Duration) er
}) })
if err != nil { if err != nil {
return fmt.Errorf("%v: %v", err, lastErr) return merr.NewErrors(err, lastErr)
} }
return nil return nil
......
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