From d4c083ee9adb3a13afa5f5d84e899bda51645697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Budai?= Date: Fri, 15 May 2020 12:04:07 +0200 Subject: [PATCH] api/weldr: fix the missing logs The store-jobqueue split broke the retrieval of logs in weldr API. Weldr API still retrieved the logs from store but they are now stored in the jobqueue. This commit fixes that by taking advantage of the fact that getComposeStatus() now returns the compose result from which the logs can be generated. --- internal/weldr/api.go | 54 ++----------------------------------------- 1 file changed, 2 insertions(+), 52 deletions(-) diff --git a/internal/weldr/api.go b/internal/weldr/api.go index 178624b41..0b57e3947 100644 --- a/internal/weldr/api.go +++ b/internal/weldr/api.go @@ -2006,31 +2006,6 @@ func (api *API) composeLogsHandler(writer http.ResponseWriter, request *http.Req return } - resultReader, err := api.store.GetImageBuildResult(id) - - if err != nil { - errors := responseError{ - ID: "ComposeError", - Msg: fmt.Sprintf("Opening log for compose %s failed", uuidString), - } - statusResponseError(writer, http.StatusBadRequest, errors) - return - } - - var result common.ComposeResult - err = json.NewDecoder(resultReader).Decode(&result) - if err != nil { - errors := responseError{ - ID: "ComposeError", - Msg: fmt.Sprintf("Parsing log for compose %s failed", uuidString), - } - statusResponseError(writer, http.StatusBadRequest, errors) - return - } - - err = resultReader.Close() - common.PanicOnError(err) - writer.Header().Set("Content-Disposition", "attachment; filename="+id.String()+"-logs.tar") writer.Header().Set("Content-Type", "application/x-tar") @@ -2038,7 +2013,7 @@ func (api *API) composeLogsHandler(writer http.ResponseWriter, request *http.Req // tar format needs to contain file size before the actual file content, therefore the intermediate buffer var fileContents bytes.Buffer - err = result.Write(&fileContents) + err = composeStatus.Result.Write(&fileContents) common.PanicOnError(err) header := &tar.Header{ @@ -2099,32 +2074,7 @@ func (api *API) composeLogHandler(writer http.ResponseWriter, request *http.Requ return } - resultReader, err := api.store.GetImageBuildResult(id) - - if err != nil { - errors := responseError{ - ID: "ComposeError", - Msg: fmt.Sprintf("Opening log for compose %s failed", uuidString), - } - statusResponseError(writer, http.StatusBadRequest, errors) - return - } - - var result common.ComposeResult - err = json.NewDecoder(resultReader).Decode(&result) - if err != nil { - errors := responseError{ - ID: "ComposeError", - Msg: fmt.Sprintf("Parsing log for compose %s failed", uuidString), - } - statusResponseError(writer, http.StatusBadRequest, errors) - return - } - - err = resultReader.Close() - common.PanicOnError(err) - - err = result.Write(writer) + err = composeStatus.Result.Write(writer) common.PanicOnError(err) }