mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-01 19:17:58 +00:00
Raft retry join (#7856)
* Raft retry join * update * Make retry join work with shamir seal * Return upon context completion * Update vault/raft.go Co-Authored-By: Brian Kassouf <briankassouf@users.noreply.github.com> * Address some review comments * send leader information slice as a parameter * Make retry join work properly with Shamir case. This commit has a blocking issue * Fix join goroutine exiting before the job is done * Polishing changes * Don't return after a successful join during unseal * Added config parsing test * Add test and fix bugs * minor changes * Address review comments * Fix build error Co-authored-by: Brian Kassouf <briankassouf@users.noreply.github.com>
This commit is contained in:
committed by
Brian Kassouf
parent
5ca60e106c
commit
1a2ec77a7a
@@ -12,6 +12,38 @@ import (
|
||||
"github.com/hashicorp/hcl/hcl/ast"
|
||||
)
|
||||
|
||||
func testConfigRaftRetryJoin(t *testing.T) {
|
||||
config, err := LoadConfigFile("./test-fixtures/raft_retry_join.hcl")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
retryJoinConfig := `[{"leader_api_addr":"http://127.0.0.1:8200"},{"leader_api_addr":"http://127.0.0.2:8200"},{"leader_api_addr":"http://127.0.0.3:8200"}]` + "\n"
|
||||
expected := &Config{
|
||||
Listeners: []*Listener{
|
||||
{
|
||||
Type: "tcp",
|
||||
Config: map[string]interface{}{
|
||||
"address": "127.0.0.1:8200",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
Storage: &Storage{
|
||||
Type: "raft",
|
||||
Config: map[string]string{
|
||||
"path": "/storage/path/raft",
|
||||
"node_id": "raft1",
|
||||
"retry_join": retryJoinConfig,
|
||||
},
|
||||
},
|
||||
DisableMlock: true,
|
||||
DisableMlockRaw: true,
|
||||
}
|
||||
if !reflect.DeepEqual(config, expected) {
|
||||
t.Fatalf("\nexpected: %#v\n actual:%#v\n", config, expected)
|
||||
}
|
||||
}
|
||||
|
||||
func testLoadConfigFile_topLevel(t *testing.T, entropy *Entropy) {
|
||||
config, err := LoadConfigFile("./test-fixtures/config2.hcl")
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user