Wait for ingress host to be ready

Signed-off-by: ds-ms <desattir@microsoft.com>
pull/5264/head
ds-ms 7 years ago
parent d8bdf484cc
commit 1d95d8396b

@ -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
}

Loading…
Cancel
Save