From 3b280ab038ee0410d2b821cf86729b536b27ab16 Mon Sep 17 00:00:00 2001 From: fengxusong Date: Wed, 18 Sep 2019 11:42:03 +0800 Subject: [PATCH 1/4] Refactor switch statement in pkg/kube/wait.go Signed-off-by: fengxusong Signed-off-by: Matthew Fisher --- pkg/kube/wait.go | 53 +----------------------------------------------- 1 file changed, 1 insertion(+), 52 deletions(-) diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go index 0894b82dc..26ff49950 100644 --- a/pkg/kube/wait.go +++ b/pkg/kube/wait.go @@ -65,58 +65,7 @@ func (w *waiter) waitForResources(created ResourceList) error { if err != nil || !w.isPodReady(pod) { return false, err } - case *appsv1.Deployment: - currentDeployment, err := w.c.AppsV1().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{}) - if err != nil { - return false, err - } - // If paused deployment will never be ready - if currentDeployment.Spec.Paused { - continue - } - // Find RS associated with deployment - newReplicaSet, err := deploymentutil.GetNewReplicaSet(currentDeployment, w.c.AppsV1()) - if err != nil || newReplicaSet == nil { - return false, err - } - if !w.deploymentReady(newReplicaSet, currentDeployment) { - return false, nil - } - case *appsv1beta1.Deployment: - currentDeployment, err := w.c.AppsV1().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{}) - if err != nil { - return false, err - } - // If paused deployment will never be ready - if currentDeployment.Spec.Paused { - continue - } - // Find RS associated with deployment - newReplicaSet, err := deploymentutil.GetNewReplicaSet(currentDeployment, w.c.AppsV1()) - if err != nil || newReplicaSet == nil { - return false, err - } - if !w.deploymentReady(newReplicaSet, currentDeployment) { - return false, nil - } - case *appsv1beta2.Deployment: - currentDeployment, err := w.c.AppsV1().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{}) - if err != nil { - return false, err - } - // If paused deployment will never be ready - if currentDeployment.Spec.Paused { - continue - } - // Find RS associated with deployment - newReplicaSet, err := deploymentutil.GetNewReplicaSet(currentDeployment, w.c.AppsV1()) - if err != nil || newReplicaSet == nil { - return false, err - } - if !w.deploymentReady(newReplicaSet, currentDeployment) { - return false, nil - } - case *extensionsv1beta1.Deployment: + case *appsv1.Deployment, *appsv1beta1.Deployment, *appsv1beta2.Deployment, *extensionsv1beta1.Deployment: currentDeployment, err := w.c.AppsV1().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{}) if err != nil { return false, err From cf728f40766e6eb9bd1255e5186a906c61c0f3eb Mon Sep 17 00:00:00 2001 From: fengxsong Date: Thu, 19 Sep 2019 10:18:37 +0800 Subject: [PATCH 2/4] fix wait.go use *resource.Info.Namespace/Name because runtime.Object is a Interface Signed-off-by: fengxusong Signed-off-by: Matthew Fisher --- pkg/kube/wait.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go index 26ff49950..116003252 100644 --- a/pkg/kube/wait.go +++ b/pkg/kube/wait.go @@ -66,7 +66,7 @@ func (w *waiter) waitForResources(created ResourceList) error { return false, err } case *appsv1.Deployment, *appsv1beta1.Deployment, *appsv1beta2.Deployment, *extensionsv1beta1.Deployment: - currentDeployment, err := w.c.AppsV1().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{}) + currentDeployment, err := w.c.AppsV1().Deployments(v.Namespace).Get(v.Name, metav1.GetOptions{}) if err != nil { return false, err } From a4dd603f78f55d0125ad95277e260fb8861948de Mon Sep 17 00:00:00 2001 From: fengxsong Date: Fri, 20 Sep 2019 09:10:38 +0800 Subject: [PATCH 3/4] Refactor switch statement in pkg/kube/wait.go Signed-off-by: fengxusong Signed-off-by: Matthew Fisher --- pkg/kube/wait.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go index 116003252..965e04b71 100644 --- a/pkg/kube/wait.go +++ b/pkg/kube/wait.go @@ -134,14 +134,8 @@ func (w *waiter) waitForResources(created ResourceList) error { return false, nil } - case *corev1.ReplicationController: - ok, err = w.podsReadyForObject(value.Namespace, value) - case *extensionsv1beta1.ReplicaSet: - ok, err = w.podsReadyForObject(value.Namespace, value) - case *appsv1beta2.ReplicaSet: - ok, err = w.podsReadyForObject(value.Namespace, value) - case *appsv1.ReplicaSet: - ok, err = w.podsReadyForObject(value.Namespace, value) + case *corev1.ReplicationController, *extensionsv1beta1.ReplicaSet, *appsv1beta2.ReplicaSet, *appsv1.ReplicaSet: + ok, err = w.podsReadyForObject(v.Namespace, value) } if !ok || err != nil { return false, err From f55a64240f3f8fc79bf7ae8a3450619e72520e23 Mon Sep 17 00:00:00 2001 From: Matthew Fisher Date: Tue, 8 Oct 2019 09:42:47 -0700 Subject: [PATCH 4/4] ref(wait): remove versioned type, use unversioned instead Signed-off-by: Matthew Fisher --- pkg/kube/wait.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go index 965e04b71..20d91b610 100644 --- a/pkg/kube/wait.go +++ b/pkg/kube/wait.go @@ -61,7 +61,7 @@ func (w *waiter) waitForResources(created ResourceList) error { ) switch value := AsVersioned(v).(type) { case *corev1.Pod: - pod, err := w.c.CoreV1().Pods(value.Namespace).Get(value.Name, metav1.GetOptions{}) + pod, err := w.c.CoreV1().Pods(v.Namespace).Get(v.Name, metav1.GetOptions{}) if err != nil || !w.isPodReady(pod) { return false, err } @@ -83,7 +83,7 @@ func (w *waiter) waitForResources(created ResourceList) error { return false, nil } case *corev1.PersistentVolumeClaim: - claim, err := w.c.CoreV1().PersistentVolumeClaims(value.Namespace).Get(value.Name, metav1.GetOptions{}) + claim, err := w.c.CoreV1().PersistentVolumeClaims(v.Namespace).Get(v.Name, metav1.GetOptions{}) if err != nil { return false, err } @@ -91,7 +91,7 @@ func (w *waiter) waitForResources(created ResourceList) error { return false, nil } case *corev1.Service: - svc, err := w.c.CoreV1().Services(value.Namespace).Get(value.Name, metav1.GetOptions{}) + svc, err := w.c.CoreV1().Services(v.Namespace).Get(v.Name, metav1.GetOptions{}) if err != nil { return false, err }