mirror of
https://github.com/minio/minio.git
synced 2025-01-23 20:53:18 -05:00
fix: tweak the maintenance=true to satisfy baremetal first (#16864)
This commit is contained in:
parent
fb1492f531
commit
12047702f5
@ -2077,9 +2077,14 @@ func (z *erasureServerPools) getPoolAndSet(id string) (poolIdx, setIdx, diskIdx
|
|||||||
return -1, -1, -1, fmt.Errorf("DriveID(%s) %w", id, errDiskNotFound)
|
return -1, -1, -1, fmt.Errorf("DriveID(%s) %w", id, errDiskNotFound)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
vmware = "VMWare"
|
||||||
|
)
|
||||||
|
|
||||||
// HealthOptions takes input options to return sepcific information
|
// HealthOptions takes input options to return sepcific information
|
||||||
type HealthOptions struct {
|
type HealthOptions struct {
|
||||||
Maintenance bool
|
Maintenance bool
|
||||||
|
DeploymentType string
|
||||||
}
|
}
|
||||||
|
|
||||||
// HealthResult returns the current state of the system, also
|
// HealthResult returns the current state of the system, also
|
||||||
@ -2165,7 +2170,8 @@ func (z *erasureServerPools) Health(ctx context.Context, opts HealthOptions) Hea
|
|||||||
}
|
}
|
||||||
|
|
||||||
var aggHealStateResult madmin.BgHealState
|
var aggHealStateResult madmin.BgHealState
|
||||||
if opts.Maintenance {
|
// Check if disks are healing on in-case of VMware vsphere deployments.
|
||||||
|
if opts.Maintenance && opts.DeploymentType == vmware {
|
||||||
// check if local disks are being healed, if they are being healed
|
// check if local disks are being healed, if they are being healed
|
||||||
// we need to tell healthy status as 'false' so that this server
|
// we need to tell healthy status as 'false' so that this server
|
||||||
// is not taken down for maintenance
|
// is not taken down for maintenance
|
||||||
|
@ -47,7 +47,10 @@ func ClusterCheckHandler(w http.ResponseWriter, r *http.Request) {
|
|||||||
ctx, cancel := context.WithTimeout(ctx, globalAPIConfig.getClusterDeadline())
|
ctx, cancel := context.WithTimeout(ctx, globalAPIConfig.getClusterDeadline())
|
||||||
defer cancel()
|
defer cancel()
|
||||||
|
|
||||||
opts := HealthOptions{Maintenance: r.Form.Get("maintenance") == "true"}
|
opts := HealthOptions{
|
||||||
|
Maintenance: r.Form.Get("maintenance") == "true",
|
||||||
|
DeploymentType: r.Form.Get("deployment-type"),
|
||||||
|
}
|
||||||
result := objLayer.Health(ctx, opts)
|
result := objLayer.Health(ctx, opts)
|
||||||
if result.WriteQuorum > 0 {
|
if result.WriteQuorum > 0 {
|
||||||
w.Header().Set(xhttp.MinIOWriteQuorum, strconv.Itoa(result.WriteQuorum))
|
w.Header().Set(xhttp.MinIOWriteQuorum, strconv.Itoa(result.WriteQuorum))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user