Merge pull request #7530 from plenus-cloud/fix-7513

fix(helm): Don't wait for service to be ready when external IP are set
pull/7625/head
Taylor Thomas 5 years ago committed by GitHub
commit 2cd3d12acd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -188,12 +188,25 @@ func (w *waiter) serviceReady(s *corev1.Service) bool {
} }
// Make sure the service is not explicitly set to "None" before checking the IP // Make sure the service is not explicitly set to "None" before checking the IP
if (s.Spec.ClusterIP != corev1.ClusterIPNone && s.Spec.ClusterIP == "") || if s.Spec.ClusterIP != corev1.ClusterIPNone && s.Spec.ClusterIP == "" {
// This checks if the service has a LoadBalancer and that balancer has an Ingress defined w.log("Service does not have cluster IP address: %s/%s", s.GetNamespace(), s.GetName())
(s.Spec.Type == corev1.ServiceTypeLoadBalancer && s.Status.LoadBalancer.Ingress == nil) {
w.log("Service does not have IP address: %s/%s", s.GetNamespace(), s.GetName())
return false return false
} }
// This checks if the service has a LoadBalancer and that balancer has an Ingress defined
if s.Spec.Type == corev1.ServiceTypeLoadBalancer {
// do not wait when at least 1 external IP is set
if len(s.Spec.ExternalIPs) > 0 {
w.log("Service %s/%s has external IP addresses (%v), marking as ready", s.GetNamespace(), s.GetName(), s.Spec.ExternalIPs)
return true
}
if s.Status.LoadBalancer.Ingress == nil {
w.log("Service does not have load balancer ingress IP address: %s/%s", s.GetNamespace(), s.GetName())
return false
}
}
return true return true
} }

Loading…
Cancel
Save