From 1661ba5b1ee45c2f554d7055b1e99fb36dae8f5b Mon Sep 17 00:00:00 2001 From: Simon Alling Date: Fri, 7 May 2021 16:05:21 +0200 Subject: [PATCH] Refactor GetPodLogs using isTestHook & getHookLog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `git show --ignore-space-change` is useful for understanding this commit. Co-authored-by: Andreas Lindhé Signed-off-by: Andreas Lindhé --- pkg/action/release_testing.go | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/pkg/action/release_testing.go b/pkg/action/release_testing.go index ecaeaf59f..5ae909bd3 100644 --- a/pkg/action/release_testing.go +++ b/pkg/action/release_testing.go @@ -17,13 +17,11 @@ limitations under the License. package action import ( - "context" "fmt" "io" "time" "github.com/pkg/errors" - v1 "k8s.io/api/core/v1" "helm.sh/helm/v3/pkg/chartutil" "helm.sh/helm/v3/pkg/release" @@ -108,20 +106,16 @@ func (r *ReleaseTesting) GetPodLogs(out io.Writer, rel *release.Release) error { } for _, h := range rel.Hooks { - for _, e := range h.Events { - if e == release.HookTest { - req := client.CoreV1().Pods(r.Namespace).GetLogs(h.Name, &v1.PodLogOptions{}) - logReader, err := req.Stream(context.Background()) - if err != nil { - return errors.Wrapf(err, "unable to get pod logs for %s", h.Name) - } - - fmt.Fprintf(out, "POD LOGS: %s\n", h.Name) - _, err = io.Copy(out, logReader) - fmt.Fprintln(out) - if err != nil { - return errors.Wrapf(err, "unable to write pod logs for %s", h.Name) - } + if isTestHook(h) { + hookLog, err := getHookLog(client, rel, h) + if err != nil { + return err + } + fmt.Fprintf(out, "POD LOGS: %s\n", h.Name) + _, err = fmt.Fprint(out, string(hookLog)) + fmt.Fprintln(out) + if err != nil { + return errors.Wrapf(err, "unable to write pod logs for %s", h.Name) } } }