|
|
|
@ -52,6 +52,7 @@ func (c *Client) waitForResources(timeout time.Duration, created Result) error {
|
|
|
|
|
services := []v1.Service{}
|
|
|
|
|
pvc := []v1.PersistentVolumeClaim{}
|
|
|
|
|
deployments := []deployment{}
|
|
|
|
|
ingresses := []extensions.Ingress{}
|
|
|
|
|
for _, v := range created {
|
|
|
|
|
switch value := asVersioned(v).(type) {
|
|
|
|
|
case *v1.ReplicationController:
|
|
|
|
@ -192,9 +193,15 @@ func (c *Client) waitForResources(timeout time.Duration, created Result) error {
|
|
|
|
|
return false, err
|
|
|
|
|
}
|
|
|
|
|
services = append(services, *svc)
|
|
|
|
|
case *extensions.Ingress:
|
|
|
|
|
ingress, err := kcs.ExtensionsV1beta1().Ingresses(value.Namespace).Get(value.Name, metav1.GetOptions{})
|
|
|
|
|
if err != nil {
|
|
|
|
|
return false, err
|
|
|
|
|
}
|
|
|
|
|
ingresses = append(ingresses, *ingress)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
isReady := c.podsReady(pods) && c.servicesReady(services) && c.volumesReady(pvc) && c.deploymentsReady(deployments)
|
|
|
|
|
isReady := c.podsReady(pods) && c.servicesReady(services) && c.volumesReady(pvc) && c.deploymentsReady(deployments) && c.ingressesReady(ingresses)
|
|
|
|
|
return isReady, nil
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
@ -269,3 +276,13 @@ func isPodReady(pod *v1.Pod) bool {
|
|
|
|
|
}
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (c *Client) ingressesReady(ingresses []extensions.Ingress) bool {
|
|
|
|
|
for _, ingress := range ingresses {
|
|
|
|
|
if &ingress.Status == nil && len(ingress.Status.LoadBalancer.Ingress) > 0 {
|
|
|
|
|
c.Log("Ingress is not ready: %s/%s", ingress.GetNamespace(), ingress.GetName())
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return true
|
|
|
|
|
}
|
|
|
|
|