From 0a787e3c73f8aaf9f7b394fee046554ee054e81a Mon Sep 17 00:00:00 2001 From: Simon Alling Date: Fri, 3 Dec 2021 18:05:24 +0100 Subject: [PATCH] Revert to req.Stream Signed-off-by: Simon Alling --- pkg/action/hooks.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/action/hooks.go b/pkg/action/hooks.go index db5ed0949..9a5c6a69b 100644 --- a/pkg/action/hooks.go +++ b/pkg/action/hooks.go @@ -18,7 +18,9 @@ package action import ( "bytes" "context" + "io" "sort" + "strings" "time" "github.com/pkg/errors" @@ -126,12 +128,17 @@ func (cfg *Configuration) execHook(rl *release.Release, hook release.HookEvent, // getHookLog gets the log from the pod associated with the given hook, which is expected to be a test hook. func getHookLog(client kubernetes.Interface, rel *release.Release, hook *release.Hook) (release.HookLog, error) { req := client.CoreV1().Pods(rel.Namespace).GetLogs(hook.Name, &v1.PodLogOptions{}) - responseBody, err := req.DoRaw(context.Background()) + responseBody, err := req.Stream(context.Background()) + var nothing release.HookLog if err != nil { - var nothing release.HookLog return nothing, errors.Wrapf(err, "unable to get pod logs for %s", hook.Name) } - return release.HookLog(responseBody), nil + stringBuilder := new(strings.Builder) + _, err = io.Copy(stringBuilder, responseBody) + if err != nil { + return nothing, errors.Wrapf(err, "unable to get pod logs for %s", hook.Name) + } + return release.HookLog(stringBuilder.String()), nil } // hookByWeight is a sorter for hooks