Return error from upstream when calling list functions

This is currently being hidden and needs to be bubbled up
into the logs to show an issue with calling list functions
during a deletion in faasd.

Signed-off-by: Alex Ellis (OpenFaaS Ltd) <alexellis2@gmail.com>
This commit is contained in:
Alex Ellis (OpenFaaS Ltd)
2021-02-27 20:18:34 +00:00
parent 089cd332b8
commit f8576d5b5d

View File

@ -28,15 +28,19 @@ func AddMetricsHandler(handler http.HandlerFunc, prometheusQuery PrometheusQuery
}
defer upstreamCall.Body.Close()
upstreamBody, _ := ioutil.ReadAll(upstreamCall.Body)
if recorder.Code != http.StatusOK {
log.Printf("List functions responded with code %d, body: %s",
recorder.Code,
string(upstreamBody))
w.Header().Set("Content-Type", "text/plain")
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("Error pulling metrics from provider/backend. Status code: %d", recorder.Code)))
w.Write([]byte(fmt.Sprintf("List functions responded with code %d", recorder.Code)))
return
}
upstreamBody, _ := ioutil.ReadAll(upstreamCall.Body)
var functions []types.FunctionStatus
err := json.Unmarshal(upstreamBody, &functions)