indicate through HTTP header cluster healing in progress (#10342)

This commit is contained in:
Daniel Valdivia 2020-08-24 15:20:50 -07:00 committed by GitHub
parent 03ec6adfd0
commit 7d1734d033
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -19,6 +19,7 @@ package cmd
import (
"context"
"net/http"
"strconv"
)
// ClusterCheckHandler returns if the server is ready for requests.
@ -38,6 +39,8 @@ func ClusterCheckHandler(w http.ResponseWriter, r *http.Request) {
opts := HealthOptions{Maintenance: r.URL.Query().Get("maintenance") == "true"}
result := objLayer.Health(ctx, opts)
if !result.Healthy {
// return how many drives are being healed if any
w.Header().Set("X-Minio-Healing-Drives", strconv.Itoa(result.HealingDrives))
// As a maintenance call we are purposefully asked to be taken
// down, this is for orchestrators to know if we can safely
// take this server down, return appropriate error.