Skip to content
This repository was archived by the owner on Jan 31, 2024. It is now read-only.

Commit bc5b642

Browse files
committed
Remove component settings from AbstractComponent
Related to elastic/elasticsearch#9919 Closes #50. (cherry picked from commit c70e32d)
1 parent 20e154e commit bc5b642

File tree

7 files changed

+29
-68
lines changed

7 files changed

+29
-68
lines changed

src/main/java/org/elasticsearch/cloud/gce/GceComputeService.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,10 @@
2828
*/
2929
public interface GceComputeService {
3030
static final public class Fields {
31-
public static final String PROJECT = "project_id";
32-
public static final String ZONE = "zone";
33-
public static final String REFRESH = "refresh_interval";
31+
public static final String PROJECT = "cloud.gce.project_id";
32+
public static final String ZONE = "cloud.gce.zone";
33+
public static final String REFRESH = "cloud.gce.refresh_interval";
34+
public static final String TAGS = "discovery.gce.tags";
3435
public static final String VERSION = "Elasticsearch/GceCloud/1.0";
3536
}
3637

src/main/java/org/elasticsearch/cloud/gce/GceComputeServiceImpl.java

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import com.google.api.services.compute.model.Instance;
2929
import com.google.api.services.compute.model.InstanceList;
3030
import org.elasticsearch.ElasticsearchException;
31+
import org.elasticsearch.ElasticsearchIllegalArgumentException;
3132
import org.elasticsearch.common.base.Function;
3233
import org.elasticsearch.common.collect.Iterables;
3334
import org.elasticsearch.common.collect.Lists;
@@ -36,7 +37,6 @@
3637
import org.elasticsearch.common.settings.Settings;
3738
import org.elasticsearch.common.settings.SettingsFilter;
3839
import org.elasticsearch.common.unit.TimeValue;
39-
import org.elasticsearch.discovery.DiscoveryException;
4040

4141
import java.io.IOException;
4242
import java.util.Collection;
@@ -104,13 +104,9 @@ public List<Instance> apply(String zoneId) {
104104
@Inject
105105
public GceComputeServiceImpl(Settings settings, SettingsFilter settingsFilter) {
106106
super(settings);
107-
settingsFilter.addFilter(new GceSettingsFilter());
108-
109-
this.project = componentSettings.get(Fields.PROJECT, settings.get("cloud.gce." + Fields.PROJECT));
110-
111-
String[] zoneList = componentSettings.getAsArray(Fields.ZONE, settings.getAsArray("cloud.gce." + Fields.ZONE));
107+
this.project = settings.get(Fields.PROJECT);
108+
String[] zoneList = settings.getAsArray(Fields.ZONE);
112109
this.zoneList = Lists.newArrayList(zoneList);
113-
114110
}
115111

116112
public synchronized Compute client() {
@@ -145,7 +141,7 @@ public synchronized Compute client() {
145141
.build();
146142
} catch (Exception e) {
147143
logger.warn("unable to start GCE discovery service: {} : {}", e.getClass().getName(), e.getMessage());
148-
throw new DiscoveryException("unable to start GCE discovery service", e);
144+
throw new ElasticsearchIllegalArgumentException("unable to start GCE discovery service", e);
149145
}
150146

151147
return this.client;

src/main/java/org/elasticsearch/cloud/gce/GceSettingsFilter.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

src/main/java/org/elasticsearch/discovery/gce/GceUnicastHostsProvider.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,15 @@ public GceUnicastHostsProvider(Settings settings, GceComputeService gceComputeSe
7676
this.networkService = networkService;
7777
this.version = version;
7878

79-
this.refreshInterval = componentSettings.getAsTime(Fields.REFRESH,
80-
settings.getAsTime("cloud.gce." + Fields.REFRESH, TimeValue.timeValueSeconds(0)));
81-
82-
this.project = componentSettings.get(Fields.PROJECT, settings.get("cloud.gce." + Fields.PROJECT));
83-
this.zone = componentSettings.get(Fields.ZONE, settings.get("cloud.gce." + Fields.ZONE));
79+
this.refreshInterval = settings.getAsTime(Fields.REFRESH, TimeValue.timeValueSeconds(0));
80+
this.project = settings.get(Fields.PROJECT);
81+
this.zone = settings.get(Fields.ZONE);
8482

8583
// Check that we have all needed properties
8684
checkProperty(Fields.PROJECT, project);
8785
checkProperty(Fields.ZONE, zone);
8886

89-
this.tags = settings.getAsArray("discovery.gce.tags");
87+
this.tags = settings.getAsArray(Fields.TAGS);
9088
if (logger.isDebugEnabled()) {
9189
logger.debug("using tags {}", Lists.newArrayList(this.tags));
9290
}
@@ -251,7 +249,7 @@ public List<DiscoveryNode> buildDynamicNodes() {
251249

252250
private void checkProperty(String name, String value) {
253251
if (!Strings.hasText(value)) {
254-
logger.warn("cloud.gce.{} is not set.", name);
252+
logger.warn("{} is not set.", name);
255253
}
256254
}
257255
}

src/test/java/org/elasticsearch/discovery/gce/GceComputeEngineTest.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121

2222
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
2323
import org.elasticsearch.cloud.gce.GceComputeService;
24+
import org.elasticsearch.cloud.gce.GceComputeService.Fields;
2425
import org.elasticsearch.common.collect.Lists;
2526
import org.elasticsearch.common.settings.ImmutableSettings;
2627
import org.elasticsearch.common.settings.Settings;
@@ -112,10 +113,10 @@ public void nodes_with_different_tags_and_no_tag_set() {
112113
public void nodes_with_different_tags_and_one_tag_set() {
113114
startNode(1,
114115
GceComputeServiceTwoNodesDifferentTagsMock.class,
115-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", "elasticsearch").build());
116+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, "elasticsearch").build());
116117
startNode(2,
117118
GceComputeServiceTwoNodesDifferentTagsMock.class,
118-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", "elasticsearch").build());
119+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, "elasticsearch").build());
119120

120121
// We expect having 1 nodes as part of the cluster, let's test that
121122
checkNumberOfNodes(1);
@@ -131,10 +132,10 @@ public void nodes_with_different_tags_and_one_tag_set() {
131132
public void nodes_with_different_tags_and_two_tag_set() {
132133
startNode(1,
133134
GceComputeServiceTwoNodesDifferentTagsMock.class,
134-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", Lists.newArrayList("elasticsearch", "dev")).build());
135+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, Lists.newArrayList("elasticsearch", "dev")).build());
135136
startNode(2,
136137
GceComputeServiceTwoNodesDifferentTagsMock.class,
137-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", Lists.newArrayList("elasticsearch", "dev")).build());
138+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, Lists.newArrayList("elasticsearch", "dev")).build());
138139

139140
// We expect having 1 nodes as part of the cluster, let's test that
140141
checkNumberOfNodes(1);
@@ -157,10 +158,10 @@ public void nodes_with_same_tags_and_no_tag_set() {
157158
public void nodes_with_same_tags_and_one_tag_set() {
158159
startNode(1,
159160
GceComputeServiceTwoNodesSameTagsMock.class,
160-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", "elasticsearch").build());
161+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, "elasticsearch").build());
161162
startNode(2,
162163
GceComputeServiceTwoNodesSameTagsMock.class,
163-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", "elasticsearch").build());
164+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, "elasticsearch").build());
164165

165166
// We expect having 2 nodes as part of the cluster, let's test that
166167
checkNumberOfNodes(2);
@@ -170,10 +171,10 @@ public void nodes_with_same_tags_and_one_tag_set() {
170171
public void nodes_with_same_tags_and_two_tags_set() {
171172
startNode(1,
172173
GceComputeServiceTwoNodesSameTagsMock.class,
173-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", Lists.newArrayList("elasticsearch", "dev")).build());
174+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, Lists.newArrayList("elasticsearch", "dev")).build());
174175
startNode(2,
175176
GceComputeServiceTwoNodesSameTagsMock.class,
176-
ImmutableSettings.settingsBuilder().put("discovery.gce.tags", Lists.newArrayList("elasticsearch", "dev")).build());
177+
ImmutableSettings.settingsBuilder().put(Fields.TAGS, Lists.newArrayList("elasticsearch", "dev")).build());
177178

178179
// We expect having 2 nodes as part of the cluster, let's test that
179180
checkNumberOfNodes(2);
@@ -183,11 +184,11 @@ public void nodes_with_same_tags_and_two_tags_set() {
183184
public void multiple_zones_and_two_nodes_in_same_zone() {
184185
startNode(1,
185186
GceComputeServiceTwoNodesOneZoneMock.class,
186-
ImmutableSettings.settingsBuilder().put("cloud.gce.zone", Lists.newArrayList("us-central1-a", "us-central1-b",
187+
ImmutableSettings.settingsBuilder().put(Fields.ZONE, Lists.newArrayList("us-central1-a", "us-central1-b",
187188
"us-central1-f", "europe-west1-a", "europe-west1-b")).build());
188189
startNode(2,
189190
GceComputeServiceTwoNodesOneZoneMock.class,
190-
ImmutableSettings.settingsBuilder().put("cloud.gce.zone", Lists.newArrayList("us-central1-a", "us-central1-b",
191+
ImmutableSettings.settingsBuilder().put(Fields.ZONE, Lists.newArrayList("us-central1-a", "us-central1-b",
191192
"us-central1-f", "europe-west1-a", "europe-west1-b")).build());
192193

193194
// We expect having 2 nodes as part of the cluster, let's test that
@@ -198,11 +199,11 @@ public void multiple_zones_and_two_nodes_in_same_zone() {
198199
public void multiple_zones_and_two_nodes_in_different_zones() {
199200
startNode(1,
200201
GceComputeServiceTwoNodesTwoZonesMock.class,
201-
ImmutableSettings.settingsBuilder().put("cloud.gce.zone", Lists.newArrayList("us-central1-a", "us-central1-b",
202+
ImmutableSettings.settingsBuilder().put(Fields.ZONE, Lists.newArrayList("us-central1-a", "us-central1-b",
202203
"us-central1-f", "europe-west1-a", "europe-west1-b")).build());
203204
startNode(2,
204205
GceComputeServiceTwoNodesTwoZonesMock.class,
205-
ImmutableSettings.settingsBuilder().put("cloud.gce.zone", Lists.newArrayList("us-central1-a", "us-central1-b",
206+
ImmutableSettings.settingsBuilder().put(Fields.ZONE, Lists.newArrayList("us-central1-a", "us-central1-b",
206207
"us-central1-f", "europe-west1-a", "europe-west1-b")).build());
207208

208209
// We expect having 2 nodes as part of the cluster, let's test that
@@ -216,7 +217,7 @@ public void multiple_zones_and_two_nodes_in_different_zones() {
216217
public void zero_node_43() {
217218
startNode(1,
218219
GceComputeServiceZeroNodeMock.class,
219-
ImmutableSettings.settingsBuilder().put("cloud.gce.zone", Lists.newArrayList("us-central1-a", "us-central1-b",
220+
ImmutableSettings.settingsBuilder().put(Fields.ZONE, Lists.newArrayList("us-central1-a", "us-central1-b",
220221
"us-central1-f", "europe-west1-a", "europe-west1-b")).build());
221222
}
222223

src/test/java/org/elasticsearch/discovery/gce/mock/GceComputeServiceAbstractMock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ protected GceComputeServiceAbstractMock(Settings settings) {
5858
logger.debug(" - node #{}: tags [{}], zone [{}]", i, tags, zone);
5959
}
6060

61-
String[] zoneList = componentSettings.getAsArray(Fields.ZONE, settings.getAsArray("cloud.gce." + Fields.ZONE));
61+
String[] zoneList = settings.getAsArray(Fields.ZONE);
6262
this.zoneList = Lists.newArrayList(zoneList);
6363
}
6464

src/test/java/org/elasticsearch/discovery/gce/mock/GceComputeServiceZeroNodeMock.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public List<Instance> apply(String zoneId) {
7272
@Inject
7373
protected GceComputeServiceZeroNodeMock(Settings settings) {
7474
super(settings);
75-
String[] zoneList = componentSettings.getAsArray(Fields.ZONE, settings.getAsArray("cloud.gce." + Fields.ZONE));
75+
String[] zoneList = settings.getAsArray(Fields.ZONE);
7676
this.zoneList = Lists.newArrayList(zoneList);
7777
}
7878
}

0 commit comments

Comments
 (0)