Search Vault documentation » Get Cluster StateThis endpoint is used to retrieve the raft cluster state. See the docs page for a description of the output.
Method Path GET
/sys/storage/raft/autopilot/state
» Sample Request$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/state
$ curl \ --header "X-Vault-Token: ..." \ http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/state
» Sample Response{
"Healthy" : true ,
"FailureTolerance" : 1 ,
"Servers" : {
"raft1" : {
"ID" : "raft1" ,
"Name" : "raft1" ,
"Address" : "127.0.0.1:8201" ,
"NodeStatus" : "alive" ,
"LastContact" : "0s" ,
"LastTerm" : 3 ,
"LastIndex" : 459 ,
"Healthy" : true ,
"StableSince" : "2021-03-19T20:14:11.831678-04:00" ,
"Status" : "leader" ,
"Meta" : null
} ,
"raft2" : {
"ID" : "raft2" ,
"Name" : "raft2" ,
"Address" : "127.0.0.2:8201" ,
"NodeStatus" : "alive" ,
"LastContact" : "516.49595ms" ,
"LastTerm" : 3 ,
"LastIndex" : 459 ,
"Healthy" : true ,
"StableSince" : "2021-03-19T20:14:19.831931-04:00" ,
"Status" : "voter" ,
"Meta" : null
} ,
"raft3" : {
"ID" : "raft3" ,
"Name" : "raft3" ,
"Address" : "127.0.0.3:8201" ,
"NodeStatus" : "alive" ,
"LastContact" : "196.706591ms" ,
"LastTerm" : 3 ,
"LastIndex" : 459 ,
"Healthy" : true ,
"StableSince" : "2021-03-19T20:14:25.83565-04:00" ,
"Status" : "voter" ,
"Meta" : null
}
} ,
"Leader" : "raft1" ,
"Voters" : [ "raft1" , "raft2" , "raft3" ] ,
"NonVoters" : null
}
{ "Healthy" : true , "FailureTolerance" : 1 , "Servers" : { "raft1" : { "ID" : "raft1" , "Name" : "raft1" , "Address" : "127.0.0.1:8201" , "NodeStatus" : "alive" , "LastContact" : "0s" , "LastTerm" : 3 , "LastIndex" : 459 , "Healthy" : true , "StableSince" : "2021-03-19T20:14:11.831678-04:00" , "Status" : "leader" , "Meta" : null } , "raft2" : { "ID" : "raft2" , "Name" : "raft2" , "Address" : "127.0.0.2:8201" , "NodeStatus" : "alive" , "LastContact" : "516.49595ms" , "LastTerm" : 3 , "LastIndex" : 459 , "Healthy" : true , "StableSince" : "2021-03-19T20:14:19.831931-04:00" , "Status" : "voter" , "Meta" : null } , "raft3" : { "ID" : "raft3" , "Name" : "raft3" , "Address" : "127.0.0.3:8201" , "NodeStatus" : "alive" , "LastContact" : "196.706591ms" , "LastTerm" : 3 , "LastIndex" : 459 , "Healthy" : true , "StableSince" : "2021-03-19T20:14:25.83565-04:00" , "Status" : "voter" , "Meta" : null } } , "Leader" : "raft1" , "Voters" : [ "raft1" , "raft2" , "raft3" ] , "NonVoters" : null }
» Get ConfigurationThis endpoint is used to get the configuration of the autopilot subsystem of integrated storage.
Method Path GET
/sys/storage/raft/autopilot/configuration
» Sample Request$ curl \
--header "X-Vault-Token: ..." \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration
$ curl \ --header "X-Vault-Token: ..." \ http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration
» Sample Response{
"cleanup_dead_servers" : false ,
"dead_server_last_contact_threshold" : "24h0m0s" ,
"last_contact_threshold" : "10s" ,
"max_trailing_logs" : 1000 ,
"min_quorum" : 0 ,
"server_stabilization_time" : "10s"
}
{ "cleanup_dead_servers" : false , "dead_server_last_contact_threshold" : "24h0m0s" , "last_contact_threshold" : "10s" , "max_trailing_logs" : 1000 , "min_quorum" : 0 , "server_stabilization_time" : "10s" }
» Set ConfigurationThis endpoint is used to modify the configuration of the autopilot subsystem of integrated storage.
Method Path POST
/sys/storage/raft/autopilot/configuration
» Parameterscleanup_dead_servers
(bool: false)
- Controls whether to remove dead servers from
the Raft peer list periodically or when a new server joins. This requires that
min-quorum
is also set.
last_contact_threshold
(string: "10s")
- Limit on the amount of time a server can
go without leader contact before being considered unhealthy.
dead_server_last_contact_threshold
(string: "24h")
- Limit on the amount of time
a server can go without leader contact before being considered failed. This
takes effect only when cleanup_dead_servers
is set.
max_trailing_logs
(int: 1000)
- Amount of entries in the Raft Log that a server
can be behind before being considered unhealthy.
min_quorum
(int: 3)
- Minimum number of servers allowed in a cluster before
autopilot can prune dead servers. This should at least be 3. Applicable only for
voting nodes.
server_stabilization_time
(string: "10s")
- Minimum amount of time a server must
be in a stable, healthy state before it can be added to the cluster.
» Sample Request$ curl \
--header "X-Vault-Token: ..." \
--request POST \
--data @payload.json \
http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration
$ curl \ --header "X-Vault-Token: ..." \ --request POST \ --data @payload.json \ http://127.0.0.1:8200/v1/sys/storage/raft/autopilot/configuration
» Sample Payload{
"cleanup_dead_servers" : true ,
"last_contact_threshold" : "10s" ,
"dead_server_last_contact_threshold" : "24h" ,
"max_trailing_logs" : "1000" ,
"min_quorum" : "3" ,
"server_stabilization_time" : "10s"
}
{ "cleanup_dead_servers" : true , "last_contact_threshold" : "10s" , "dead_server_last_contact_threshold" : "24h" , "max_trailing_logs" : "1000" , "min_quorum" : "3" , "server_stabilization_time" : "10s" }