From 233ca02dd967776d54af1c683298fa7ece746ee8 Mon Sep 17 00:00:00 2001 From: ncabatoff Date: Mon, 5 Aug 2019 16:44:41 -0400 Subject: [PATCH] Follow what documentation says we should do if we're a perf standby and perfstandbyok=true (#7241) Follow what documentation says we should do if we're a perf standby and perfstandbyok=true, i.e. return 200 instead of 429. --- http/sys_health.go | 12 ++++++++---- website/source/api/system/health.html.md | 4 ++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/http/sys_health.go b/http/sys_health.go index 8e9f57b661..59f9b5a695 100644 --- a/http/sys_health.go +++ b/http/sys_health.go @@ -146,10 +146,14 @@ func getSysHealth(core *vault.Core, r *http.Request) (int, *HealthResponse, erro code = sealedCode case replicationState.HasState(consts.ReplicationDRSecondary): code = drSecondaryCode - case !perfStandbyOK && perfStandby: - code = perfStandbyCode - case !standbyOK && standby: - code = standbyCode + case perfStandby: + if !perfStandbyOK { + code = perfStandbyCode + } + case standby: + if !standbyOK { + code = standbyCode + } } // Fetch the local cluster name and identifier diff --git a/website/source/api/system/health.html.md b/website/source/api/system/health.html.md index 097218d432..21439d38c4 100644 --- a/website/source/api/system/health.html.md +++ b/website/source/api/system/health.html.md @@ -35,12 +35,12 @@ The default status codes are: - `standbyok` `(bool: false)` – Specifies if being a standby should still return the active status code instead of the standby status code. This is useful when - Vault is behind a non-configurable load balance that just wants a 200-level + Vault is behind a non-configurable load balancer that just wants a 200-level response. This will not apply if the node is a performance standby. - `perfstandbyok` `(bool: false)` – Specifies if being a performance standby should still return the active status code instead of the performance standby status code. - This is useful when Vault is behind a non-configurable load balance that just wants + This is useful when Vault is behind a non-configurable load balancer that just wants a 200-level response. - `activecode` `(int: 200)` – Specifies the status code that should be returned