// WaitForFederationApiserverReady waits for the federation apiserver to be ready. // It tests the readiness by sending a GET request and expecting a non error response. func WaitForFederationApiserverReady(c *federation_clientset.Clientset) error { return wait.PollImmediate(time.Second, 1*time.Minute, func() (bool, error) { _, err := c.Federation().Clusters().List(v1.ListOptions{}) if err != nil { return false, nil } return true, nil }) }
// Verify that the cluster is marked ready. func isReady(clusterName string, clientset *federation_clientset.Clientset) error { return wait.PollImmediate(time.Second, 5*time.Minute, func() (bool, error) { c, err := clientset.Federation().Clusters().Get(clusterName, metav1.GetOptions{}) if err != nil { return false, err } for _, condition := range c.Status.Conditions { if condition.Type == federationapi.ClusterReady && condition.Status == v1.ConditionTrue { return true, nil } } return false, nil }) }