raft: disallow ha_storage stanza when raft storage is used (#8707)

This commit is contained in:
Calvin Leung Huang
2020-04-08 13:07:42 -07:00
committed by GitHub
parent 27ed507ebe
commit 78189b801d
2 changed files with 9 additions and 1 deletions

View File

@@ -1144,6 +1144,11 @@ func (c *ServerCommand) Run(args []string) int {
// Initialize the separate HA storage backend, if it exists // Initialize the separate HA storage backend, if it exists
var ok bool var ok bool
if config.HAStorage != nil { if config.HAStorage != nil {
if config.Storage.Type == "raft" {
c.UI.Error("HA storage cannot be declared when Raft is the storage type")
return 1
}
// TODO: Remove when Raft can server as the ha_storage backend. // TODO: Remove when Raft can server as the ha_storage backend.
// See https://github.com/hashicorp/vault/issues/8206 // See https://github.com/hashicorp/vault/issues/8206
if config.HAStorage.Type == "raft" { if config.HAStorage.Type == "raft" {

View File

@@ -36,6 +36,9 @@ cluster_addr = "http://127.0.0.1:8201"
`cluster_addr` to indicate the address and port to be used for communication `cluster_addr` to indicate the address and port to be used for communication
between the nodes in the Raft cluster. between the nodes in the Raft cluster.
~> **Note:** When using the Raft storage backend, a separate `ha_storage`
backend cannot be declared.
~> **Note:** Raft cannot be used as the configured `ha_storage` backend at this ~> **Note:** Raft cannot be used as the configured `ha_storage` backend at this
time. To use Raft for HA coordination users must also use Raft for storage. time. To use Raft for HA coordination users must also use Raft for storage.
@@ -54,7 +57,7 @@ time. To use Raft for HA coordination users must also use Raft for storage.
expense of requiring more network and CPU resources for better performance. expense of requiring more network and CPU resources for better performance.
Omitting this value or setting it to 0 uses default timing described below. Omitting this value or setting it to 0 uses default timing described below.
Lower values are used to tighten timing and increase sensitivity while higher Lower values are used to tighten timing and increase sensitivity while higher
values relax timings and reduce sensitivity. values relax timings and reduce sensitivity.
By default, Vault will use a lower-performance timing that's suitable for By default, Vault will use a lower-performance timing that's suitable for
minimal Vault servers, currently equivalent to setting this to a value of 5 minimal Vault servers, currently equivalent to setting this to a value of 5