From b02e6dc996d3985a8a136f290c4a8810ce05aaab Mon Sep 17 00:00:00 2001 From: Alexander Reelsen Date: Tue, 11 Feb 2014 10:05:10 +0100 Subject: [PATCH] Migrating NodesInfo API to use plugins instead of singular plugin In order to be consistent (and because in 1.0 we switched from parameter driven information to specifzing the metrics as part of the URI) this patch moves from 'plugin' to 'plugins' in the Nodes Info API. --- docs/reference/cluster/nodes-info.asciidoc | 6 +++--- rest-api-spec/api/nodes.info.json | 2 +- .../cluster/node/info/NodesInfoRequest.java | 20 +++++++++---------- .../node/info/NodesInfoRequestBuilder.java | 7 +++++-- .../node/info/TransportNodesInfoAction.java | 2 +- .../node/info/RestNodesInfoAction.java | 4 ++-- .../nodesinfo/SimpleNodesInfoTests.java | 2 +- .../plugin/PluginManagerTests.java | 2 +- 8 files changed, 24 insertions(+), 21 deletions(-) diff --git a/docs/reference/cluster/nodes-info.asciidoc b/docs/reference/cluster/nodes-info.asciidoc index 96b5fb5b9e3e9..61d8c1a5a6a1f 100644 --- a/docs/reference/cluster/nodes-info.asciidoc +++ b/docs/reference/cluster/nodes-info.asciidoc @@ -17,7 +17,7 @@ The second command selectively retrieves nodes information of only By default, it just returns all attributes and core settings for a node. It also allows to get only information on `settings`, `os`, `process`, `jvm`, -`thread_pool`, `network`, `transport`, `http` and `plugin`: +`thread_pool`, `network`, `transport`, `http` and `plugins`: [source,js] -------------------------------------------------- @@ -30,9 +30,9 @@ curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/info/jvm,process' curl -XGET 'http://localhost:9200/_nodes/nodeId1,nodeId2/_all -------------------------------------------------- -The `all` flag can be set to return all the information - or you can simply omit it. +The `_all` flag can be set to return all the information - or you can simply omit it. -`plugin` - if set, the result will contain details about the loaded +`plugins` - if set, the result will contain details about the loaded plugins per node: * `name`: plugin name diff --git a/rest-api-spec/api/nodes.info.json b/rest-api-spec/api/nodes.info.json index 4885fa6f9d084..e121e3047aba6 100644 --- a/rest-api-spec/api/nodes.info.json +++ b/rest-api-spec/api/nodes.info.json @@ -12,7 +12,7 @@ }, "metric": { "type": "list", - "options": ["settings", "os", "process", "jvm", "thread_pool", "network", "transport", "http", "plugin"], + "options": ["settings", "os", "process", "jvm", "thread_pool", "network", "transport", "http", "plugins"], "description": "A comma-separated list of metrics you wish returned. Leave empty to return all." } }, diff --git a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequest.java b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequest.java index b9ab8d323e4a7..589471af36dfd 100644 --- a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequest.java +++ b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequest.java @@ -38,7 +38,7 @@ public class NodesInfoRequest extends NodesOperationRequest { private boolean network = true; private boolean transport = true; private boolean http = true; - private boolean plugin = true; + private boolean plugins = true; public NodesInfoRequest() { } @@ -63,7 +63,7 @@ public NodesInfoRequest clear() { network = false; transport = false; http = false; - plugin = false; + plugins = false; return this; } @@ -79,7 +79,7 @@ public NodesInfoRequest all() { network = true; transport = true; http = true; - plugin = true; + plugins = true; return this; } @@ -205,19 +205,19 @@ public NodesInfoRequest http(boolean http) { /** * Should information about plugins be returned - * @param plugin true if you want info + * @param plugins true if you want info * @return The request */ - public NodesInfoRequest plugin(boolean plugin) { - this.plugin = plugin; + public NodesInfoRequest plugins(boolean plugins) { + this.plugins = plugins; return this; } /** * @return true if information about plugins is requested */ - public boolean plugin() { - return plugin; + public boolean plugins() { + return plugins; } @Override @@ -231,7 +231,7 @@ public void readFrom(StreamInput in) throws IOException { network = in.readBoolean(); transport = in.readBoolean(); http = in.readBoolean(); - plugin = in.readBoolean(); + plugins = in.readBoolean(); } @Override @@ -245,6 +245,6 @@ public void writeTo(StreamOutput out) throws IOException { out.writeBoolean(network); out.writeBoolean(transport); out.writeBoolean(http); - out.writeBoolean(plugin); + out.writeBoolean(plugins); } } diff --git a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java index f119522b3a2d6..c6c0cc19f9cfc 100644 --- a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java +++ b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/NodesInfoRequestBuilder.java @@ -113,8 +113,11 @@ public NodesInfoRequestBuilder setHttp(boolean http) { return this; } - public NodesInfoRequestBuilder setPlugin(boolean plugin) { - request().plugin(plugin); + /** + * Should the node plugins info be returned. + */ + public NodesInfoRequestBuilder setPlugins(boolean plugins) { + request().plugins(plugins); return this; } diff --git a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java index 735ea418b601d..1392ab9b52685 100644 --- a/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java +++ b/src/main/java/org/elasticsearch/action/admin/cluster/node/info/TransportNodesInfoAction.java @@ -98,7 +98,7 @@ protected NodeInfo newNodeResponse() { protected NodeInfo nodeOperation(NodeInfoRequest nodeRequest) throws ElasticsearchException { NodesInfoRequest request = nodeRequest.request; return nodeService.info(request.settings(), request.os(), request.process(), request.jvm(), request.threadPool(), - request.network(), request.transport(), request.http(), request.plugin()); + request.network(), request.transport(), request.http(), request.plugins()); } @Override diff --git a/src/main/java/org/elasticsearch/rest/action/admin/cluster/node/info/RestNodesInfoAction.java b/src/main/java/org/elasticsearch/rest/action/admin/cluster/node/info/RestNodesInfoAction.java index fe22ffb6f6462..35d2ff5fde1c6 100644 --- a/src/main/java/org/elasticsearch/rest/action/admin/cluster/node/info/RestNodesInfoAction.java +++ b/src/main/java/org/elasticsearch/rest/action/admin/cluster/node/info/RestNodesInfoAction.java @@ -44,7 +44,7 @@ public class RestNodesInfoAction extends BaseRestHandler { private final SettingsFilter settingsFilter; - private final static Set ALLOWED_METRICS = Sets.newHashSet("http", "jvm", "network", "os", "plugin", "process", "settings", "thread_pool", "transport"); + private final static Set ALLOWED_METRICS = Sets.newHashSet("http", "jvm", "network", "os", "plugins", "process", "settings", "thread_pool", "transport"); @Inject public RestNodesInfoAction(Settings settings, Client client, RestController controller, @@ -99,7 +99,7 @@ public void handleRequest(final RestRequest request, final RestChannel channel) nodesInfoRequest.network(metrics.contains("network")); nodesInfoRequest.transport(metrics.contains("transport")); nodesInfoRequest.http(metrics.contains("http")); - nodesInfoRequest.plugin(metrics.contains("plugin")); + nodesInfoRequest.plugins(metrics.contains("plugins")); } client.admin().cluster().nodesInfo(nodesInfoRequest, new ActionListener() { diff --git a/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoTests.java b/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoTests.java index 6104a7cf3eeb3..8a3d733e96c1b 100644 --- a/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoTests.java +++ b/src/test/java/org/elasticsearch/nodesinfo/SimpleNodesInfoTests.java @@ -129,7 +129,7 @@ public void testNodeInfoPlugin() throws URISyntaxException { ClusterHealthResponse clusterHealth = client().admin().cluster().health(clusterHealthRequest().waitForGreenStatus()).actionGet(); logger.info("--> done cluster_health, status " + clusterHealth.getStatus()); - NodesInfoResponse response = client().admin().cluster().prepareNodesInfo().clear().setPlugin(true).execute().actionGet(); + NodesInfoResponse response = client().admin().cluster().prepareNodesInfo().clear().setPlugins(true).execute().actionGet(); logger.info("--> full json answer, status " + response.toString()); assertNodeContainsPlugins(response, server1NodeId, diff --git a/src/test/java/org/elasticsearch/plugin/PluginManagerTests.java b/src/test/java/org/elasticsearch/plugin/PluginManagerTests.java index 1cb1dea67b1e8..2d69135f1765e 100644 --- a/src/test/java/org/elasticsearch/plugin/PluginManagerTests.java +++ b/src/test/java/org/elasticsearch/plugin/PluginManagerTests.java @@ -143,7 +143,7 @@ private static void downloadAndExtract(String pluginName, String pluginUrl) thro } private void assertPluginLoaded(String pluginName) { - NodesInfoResponse nodesInfoResponse = client().admin().cluster().prepareNodesInfo().clear().setPlugin(true).get(); + NodesInfoResponse nodesInfoResponse = client().admin().cluster().prepareNodesInfo().clear().setPlugins(true).get(); assertThat(nodesInfoResponse.getNodes().length, equalTo(1)); assertThat(nodesInfoResponse.getNodes()[0].getPlugins().getInfos(), notNullValue()); assertThat(nodesInfoResponse.getNodes()[0].getPlugins().getInfos().size(), equalTo(1));