-
Notifications
You must be signed in to change notification settings - Fork 24.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reload Secure Settings REST specs & docs (#32990)
This is a minimal REST API spec and docs for the REST handler for the `_nodes/reload_secure_settings endpoint`. Relates #29135
- Loading branch information
1 parent
c567ec4
commit fbe609d
Showing
4 changed files
with
87 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
55 changes: 55 additions & 0 deletions
55
docs/reference/cluster/nodes-reload-secure-settings.asciidoc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
[[cluster-nodes-reload-secure-settings]] | ||
== Nodes Reload Secure Settings | ||
|
||
The cluster nodes reload secure settings API is used to re-read the | ||
local node's encrypted keystore. Specifically, it will prompt the keystore | ||
decryption and reading accross the cluster. The keystore's plain content is | ||
used to reinitialize all compatible plugins. A compatible plugin can be | ||
reinitilized without restarting the node. The operation is | ||
complete when all compatible plugins have finished reinitilizing. Subsequently, | ||
the keystore is closed and any changes to it will not be reflected on the node. | ||
|
||
[source,js] | ||
-------------------------------------------------- | ||
POST _nodes/reload_secure_settings | ||
POST _nodes/nodeId1,nodeId2/reload_secure_settings | ||
-------------------------------------------------- | ||
// CONSOLE | ||
// TEST[setup:node] | ||
// TEST[s/nodeId1,nodeId2/*/] | ||
|
||
The first command reloads the keystore on each node. The seconds allows | ||
to selectively target `nodeId1` and `nodeId2`. The node selection options are | ||
detailed <<cluster-nodes,here>>. | ||
|
||
Note: It is an error if secure settings are inconsistent across the cluster | ||
nodes, yet this consistency is not enforced whatsoever. Hence, reloading specific | ||
nodes is not standard. It is only justifiable when retrying failed reload operations. | ||
|
||
[float] | ||
[[rest-reload-secure-settings]] | ||
==== REST Reload Secure Settings Response | ||
|
||
The response contains the `nodes` object, which is a map, keyed by the | ||
node id. Each value has the node `name` and an optional `reload_exception` | ||
field. The `reload_exception` field is a serialization of the exception | ||
that was thrown during the reload process, if any. | ||
|
||
[source,js] | ||
-------------------------------------------------- | ||
{ | ||
"_nodes": { | ||
"total": 1, | ||
"successful": 1, | ||
"failed": 0 | ||
}, | ||
"cluster_name": "my_cluster", | ||
"nodes": { | ||
"pQHNt5rXTTWNvUgOrdynKg": { | ||
"name": "node-0" | ||
} | ||
} | ||
} | ||
-------------------------------------------------- | ||
// TESTRESPONSE[s/"my_cluster"/$body.cluster_name/] | ||
// TESTRESPONSE[s/"pQHNt5rXTTWNvUgOrdynKg"/\$node_name/] |
23 changes: 23 additions & 0 deletions
23
rest-api-spec/src/main/resources/rest-api-spec/api/nodes.reload_secure_settings.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
{ | ||
"nodes.reload_secure_settings": { | ||
"documentation": "http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-nodes-reload-secure-settings.html", | ||
"methods": ["POST"], | ||
"url": { | ||
"path": "/_nodes/reload_secure_settings", | ||
"paths": ["/_nodes/reload_secure_settings", "/_nodes/{node_id}/reload_secure_settings"], | ||
"parts": { | ||
"node_id": { | ||
"type": "list", | ||
"description": "A comma-separated list of node IDs to span the reload/reinit call. Should stay empty because reloading usually involves all cluster nodes." | ||
} | ||
}, | ||
"params": { | ||
"timeout": { | ||
"type" : "time", | ||
"description" : "Explicit operation timeout" | ||
} | ||
} | ||
}, | ||
"body": null | ||
} | ||
} |
8 changes: 8 additions & 0 deletions
8
...-api-spec/src/main/resources/rest-api-spec/test/nodes.reload_secure_settings/10_basic.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
"node_reload_secure_settings test": | ||
|
||
- do: | ||
nodes.reload_secure_settings: {} | ||
|
||
- is_true: nodes | ||
- is_true: cluster_name |