Minor cleanup on cribbed function

Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
pull/4009/head
Brad Davidson 2021-09-10 14:28:48 -07:00 committed by Brad Davidson
parent 3449d5b9f9
commit 57377d2cd4
1 changed files with 7 additions and 4 deletions

View File

@ -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 {
// 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
}) })
if err != nil { if err != nil {
return fmt.Errorf("%v: %v", err, lastErr) return merr.NewErrors(err, lastErr)
} }
return nil return nil