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

master
Daniel Valdivia 4 years ago committed by GitHub
parent 03ec6adfd0
commit 7d1734d033
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      cmd/healthcheck-handler.go

@ -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.

Loading…
Cancel
Save