From 79c492b6aba9f018608d635530f00a17bf3539b8 Mon Sep 17 00:00:00 2001
From: Taylor Thomas <thomastaylor312@gmail.com>
Date: Wed, 10 May 2017 22:17:59 -0700
Subject: [PATCH] fix(tiller): Fixes bug with `--wait` and updated deployments

The current methodology generated its own RS slice instead of using
a helper method that uses a `clientset`. This caused some issues where
`FindNewReplicaSet` always returned `nil`. This switches the method and
removes some unneeded API calls and code.

Closes #2426
---
 pkg/kube/wait.go | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/pkg/kube/wait.go b/pkg/kube/wait.go
index e10f4997f..bc87d63e4 100644
--- a/pkg/kube/wait.go
+++ b/pkg/kube/wait.go
@@ -52,7 +52,6 @@ func (c *Client) waitForResources(timeout time.Duration, created Result) error {
 		pods := []v1.Pod{}
 		services := []v1.Service{}
 		pvc := []v1.PersistentVolumeClaim{}
-		replicaSets := []*extensions.ReplicaSet{}
 		deployments := []deployment{}
 		for _, v := range created {
 			obj, err := c.AsVersionedObject(v.Object)
@@ -73,25 +72,12 @@ func (c *Client) waitForResources(timeout time.Duration, created Result) error {
 				}
 				pods = append(pods, *pod)
 			case (*extensions.Deployment):
-				// Get the RS children first
-				rs, err := client.Extensions().ReplicaSets(value.Namespace).List(metav1.ListOptions{
-					FieldSelector: fields.Everything().String(),
-					LabelSelector: labels.Set(value.Spec.Selector.MatchLabels).AsSelector().String(),
-				})
-				if err != nil {
-					return false, err
-				}
-
-				for _, i := range rs.Items {
-					replicaSets = append(replicaSets, &i)
-				}
-
 				currentDeployment, err := client.Extensions().Deployments(value.Namespace).Get(value.Name, metav1.GetOptions{})
 				if err != nil {
 					return false, err
 				}
 				// Find RS associated with deployment
-				newReplicaSet, err := deploymentutil.FindNewReplicaSet(currentDeployment, replicaSets)
+				newReplicaSet, err := deploymentutil.GetNewReplicaSet(currentDeployment, client)
 				if err != nil || newReplicaSet == nil {
 					return false, err
 				}
-- 
GitLab