29 lines
758 B
Go
29 lines
758 B
Go
package k8sutil
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"k8s.io/client-go/rest"
|
|
|
|
"github.bus.zalan.do/acid/postgres-operator/pkg/util/constants"
|
|
"github.bus.zalan.do/acid/postgres-operator/pkg/util/retryutil"
|
|
)
|
|
|
|
func listClustersURI(ns string) string {
|
|
return fmt.Sprintf("/apis/%s/%s/namespaces/%s/%s", constants.TPRVendor, constants.TPRApiVersion, ns, constants.ResourceName)
|
|
}
|
|
|
|
func WaitTPRReady(restclient rest.Interface, interval, timeout time.Duration, ns string) error {
|
|
return retryutil.Retry(interval, timeout, func() (bool, error) {
|
|
_, err := restclient.Get().RequestURI(listClustersURI(ns)).DoRaw()
|
|
if err != nil {
|
|
if ResourceNotFound(err) { // not set up yet. wait more.
|
|
return false, nil
|
|
}
|
|
return false, err
|
|
}
|
|
return true, nil
|
|
})
|
|
}
|