Fix healthcheck handler to verify gateway backend liveness (#6218)

Fixes #6217
This commit is contained in:
Nitish Tiwari 2018-07-31 23:25:34 +05:30 committed by kannappanr
parent 264cc4020f
commit 197af49c99

View File

@ -55,6 +55,19 @@ func LivenessCheckHandler(w http.ResponseWriter, r *http.Request) {
writeResponse(w, http.StatusServiceUnavailable, nil, mimeNone) writeResponse(w, http.StatusServiceUnavailable, nil, mimeNone)
return return
} }
s := objLayer.StorageInfo(ctx)
// Gateways don't provide disk info
if s.Backend.Type == Unknown {
// ListBuckets to confirm gateway backend is up
if _, err := objLayer.ListBuckets(ctx); err != nil {
writeResponse(w, http.StatusServiceUnavailable, nil, mimeNone)
return
}
writeResponse(w, http.StatusOK, nil, mimeNone)
return
}
var totalLocalDisks int var totalLocalDisks int
var erroredDisks int var erroredDisks int
for _, endpoint := range globalEndpoints { for _, endpoint := range globalEndpoints {