From 155cc66db9c1bcd5b01c2561690c505b67c314bc Mon Sep 17 00:00:00 2001
From: stefanprodan <stefan.prodan@gmail.com>
Date: Fri, 1 May 2020 19:46:33 +0300
Subject: [PATCH] Fix get cmd early exit

---
 cmd/tk/get_kustomization.go    |  2 +-
 cmd/tk/resume_kustomization.go | 19 ++++++++++++++++++-
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/cmd/tk/get_kustomization.go b/cmd/tk/get_kustomization.go
index 9aa33c09..3d8b0111 100644
--- a/cmd/tk/get_kustomization.go
+++ b/cmd/tk/get_kustomization.go
@@ -45,7 +45,7 @@ func getKsCmdRun(cmd *cobra.Command, args []string) error {
 	for _, kustomization := range list.Items {
 		if kustomization.Spec.Suspend {
 			logSuccess("%s is suspended", kustomization.GetName())
-			break
+			continue
 		}
 		isInitialized := false
 		for _, condition := range kustomization.Status.Conditions {
diff --git a/cmd/tk/resume_kustomization.go b/cmd/tk/resume_kustomization.go
index fc2afda7..7712ab8e 100644
--- a/cmd/tk/resume_kustomization.go
+++ b/cmd/tk/resume_kustomization.go
@@ -3,9 +3,11 @@ package main
 import (
 	"context"
 	"fmt"
+
 	kustomizev1 "github.com/fluxcd/kustomize-controller/api/v1alpha1"
 	"github.com/spf13/cobra"
 	"k8s.io/apimachinery/pkg/types"
+	"k8s.io/apimachinery/pkg/util/wait"
 )
 
 var resumeKsCmd = &cobra.Command{
@@ -51,9 +53,24 @@ func resumeKsCmdRun(cmd *cobra.Command, args []string) error {
 	}
 	logSuccess("kustomization resumed")
 
-	if err := syncKsCmdRun(nil, []string{name}); err != nil {
+	logWaiting("waiting for kustomization sync")
+	if err := wait.PollImmediate(pollInterval, timeout,
+		isKustomizationReady(ctx, kubeClient, name, namespace)); err != nil {
 		return err
 	}
 
+	logSuccess("kustomization sync completed")
+
+	err = kubeClient.Get(ctx, namespacedName, &kustomization)
+	if err != nil {
+		return err
+	}
+
+	if kustomization.Status.LastAppliedRevision != "" {
+		logSuccess("applied revision %s", kustomization.Status.LastAppliedRevision)
+	} else {
+		return fmt.Errorf("kustomization sync failed")
+	}
+
 	return nil
 }
-- 
GitLab