From 93e4697f4a21f407fee2d27d1c0d0a60f6684aef Mon Sep 17 00:00:00 2001 From: Taylor Thomas <taylor.thomas@microsoft.com> Date: Fri, 25 Oct 2019 10:45:42 -0600 Subject: [PATCH] fix(wait): Removes ingress checks Closes #6751 After doing some more digging, I found out that updating the status of an `Ingress` object is completely optional. Because of this, Helm cannot support ingresses with the `--wait` flag because there is no standard way to identify that they are ready Signed-off-by: Taylor Thomas <taylor.thomas@microsoft.com> --- pkg/kube/wait.go | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go index c7df8ff2d..16efb58e9 100644 --- a/pkg/kube/wait.go +++ b/pkg/kube/wait.go @@ -22,7 +22,7 @@ import ( appsv1 "k8s.io/api/apps/v1" appsv1beta1 "k8s.io/api/apps/v1beta1" appsv1beta2 "k8s.io/api/apps/v1beta2" - "k8s.io/api/core/v1" + v1 "k8s.io/api/core/v1" extensions "k8s.io/api/extensions/v1beta1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -52,7 +52,6 @@ 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 := asVersionedOrUnstructured(v).(type) { case *v1.ReplicationController: @@ -209,15 +208,9 @@ 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) && c.ingressesReady(ingresses) + isReady := c.podsReady(pods) && c.servicesReady(services) && c.volumesReady(pvc) && c.deploymentsReady(deployments) return isReady, nil }) } @@ -292,13 +285,3 @@ 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 -} -- GitLab