21
21
22
22
import com .amazonaws .services .ec2 .model .Tag ;
23
23
import org .elasticsearch .Version ;
24
- import org .elasticsearch .cluster .node .DiscoveryNode ;
25
24
import org .elasticsearch .common .io .stream .NamedWriteableRegistry ;
26
25
import org .elasticsearch .common .network .NetworkService ;
27
26
import org .elasticsearch .common .settings .Settings ;
@@ -87,16 +86,16 @@ public TransportAddress[] addressesFromString(String address, int perAddressLimi
87
86
null );
88
87
}
89
88
90
- protected List <DiscoveryNode > buildDynamicNodes (Settings nodeSettings , int nodes ) {
91
- return buildDynamicNodes (nodeSettings , nodes , null );
89
+ protected List <TransportAddress > buildDynamicHosts (Settings nodeSettings , int nodes ) {
90
+ return buildDynamicHosts (nodeSettings , nodes , null );
92
91
}
93
92
94
- protected List <DiscoveryNode > buildDynamicNodes (Settings nodeSettings , int nodes , List <List <Tag >> tagsList ) {
93
+ protected List <TransportAddress > buildDynamicHosts (Settings nodeSettings , int nodes , List <List <Tag >> tagsList ) {
95
94
try (Ec2DiscoveryPluginMock plugin = new Ec2DiscoveryPluginMock (Settings .EMPTY , nodes , tagsList )) {
96
95
AwsEc2UnicastHostsProvider provider = new AwsEc2UnicastHostsProvider (nodeSettings , transportService , plugin .ec2Service );
97
- List <DiscoveryNode > discoveryNodes = provider .buildDynamicNodes ();
98
- logger .debug ("--> nodes found: {}" , discoveryNodes );
99
- return discoveryNodes ;
96
+ List <TransportAddress > dynamicHosts = provider .buildDynamicHosts ();
97
+ logger .debug ("--> addresses found: {}" , dynamicHosts );
98
+ return dynamicHosts ;
100
99
} catch (IOException e ) {
101
100
fail ("Unexpected IOException" );
102
101
return null ;
@@ -107,7 +106,7 @@ public void testDefaultSettings() throws InterruptedException {
107
106
int nodes = randomInt (10 );
108
107
Settings nodeSettings = Settings .builder ()
109
108
.build ();
110
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes );
109
+ List <TransportAddress > discoveryNodes = buildDynamicHosts (nodeSettings , nodes );
111
110
assertThat (discoveryNodes , hasSize (nodes ));
112
111
}
113
112
@@ -119,12 +118,11 @@ public void testPrivateIp() throws InterruptedException {
119
118
Settings nodeSettings = Settings .builder ()
120
119
.put (AwsEc2Service .HOST_TYPE_SETTING .getKey (), "private_ip" )
121
120
.build ();
122
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes );
123
- assertThat (discoveryNodes , hasSize (nodes ));
121
+ List <TransportAddress > transportAddresses = buildDynamicHosts (nodeSettings , nodes );
122
+ assertThat (transportAddresses , hasSize (nodes ));
124
123
// We check that we are using here expected address
125
124
int node = 1 ;
126
- for (DiscoveryNode discoveryNode : discoveryNodes ) {
127
- TransportAddress address = discoveryNode .getAddress ();
125
+ for (TransportAddress address : transportAddresses ) {
128
126
TransportAddress expected = poorMansDNS .get (AmazonEC2Mock .PREFIX_PRIVATE_IP + node ++);
129
127
assertEquals (address , expected );
130
128
}
@@ -138,12 +136,11 @@ public void testPublicIp() throws InterruptedException {
138
136
Settings nodeSettings = Settings .builder ()
139
137
.put (AwsEc2Service .HOST_TYPE_SETTING .getKey (), "public_ip" )
140
138
.build ();
141
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes );
142
- assertThat (discoveryNodes , hasSize (nodes ));
139
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes );
140
+ assertThat (dynamicHosts , hasSize (nodes ));
143
141
// We check that we are using here expected address
144
142
int node = 1 ;
145
- for (DiscoveryNode discoveryNode : discoveryNodes ) {
146
- TransportAddress address = discoveryNode .getAddress ();
143
+ for (TransportAddress address : dynamicHosts ) {
147
144
TransportAddress expected = poorMansDNS .get (AmazonEC2Mock .PREFIX_PUBLIC_IP + node ++);
148
145
assertEquals (address , expected );
149
146
}
@@ -159,13 +156,12 @@ public void testPrivateDns() throws InterruptedException {
159
156
Settings nodeSettings = Settings .builder ()
160
157
.put (AwsEc2Service .HOST_TYPE_SETTING .getKey (), "private_dns" )
161
158
.build ();
162
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes );
163
- assertThat (discoveryNodes , hasSize (nodes ));
159
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes );
160
+ assertThat (dynamicHosts , hasSize (nodes ));
164
161
// We check that we are using here expected address
165
162
int node = 1 ;
166
- for (DiscoveryNode discoveryNode : discoveryNodes ) {
163
+ for (TransportAddress address : dynamicHosts ) {
167
164
String instanceId = "node" + node ++;
168
- TransportAddress address = discoveryNode .getAddress ();
169
165
TransportAddress expected = poorMansDNS .get (
170
166
AmazonEC2Mock .PREFIX_PRIVATE_DNS + instanceId + AmazonEC2Mock .SUFFIX_PRIVATE_DNS );
171
167
assertEquals (address , expected );
@@ -182,13 +178,12 @@ public void testPublicDns() throws InterruptedException {
182
178
Settings nodeSettings = Settings .builder ()
183
179
.put (AwsEc2Service .HOST_TYPE_SETTING .getKey (), "public_dns" )
184
180
.build ();
185
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes );
186
- assertThat (discoveryNodes , hasSize (nodes ));
181
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes );
182
+ assertThat (dynamicHosts , hasSize (nodes ));
187
183
// We check that we are using here expected address
188
184
int node = 1 ;
189
- for (DiscoveryNode discoveryNode : discoveryNodes ) {
185
+ for (TransportAddress address : dynamicHosts ) {
190
186
String instanceId = "node" + node ++;
191
- TransportAddress address = discoveryNode .getAddress ();
192
187
TransportAddress expected = poorMansDNS .get (
193
188
AmazonEC2Mock .PREFIX_PUBLIC_DNS + instanceId + AmazonEC2Mock .SUFFIX_PUBLIC_DNS );
194
189
assertEquals (address , expected );
@@ -201,7 +196,7 @@ public void testInvalidHostType() throws InterruptedException {
201
196
.build ();
202
197
203
198
IllegalArgumentException exception = expectThrows (IllegalArgumentException .class , () -> {
204
- buildDynamicNodes (nodeSettings , 1 );
199
+ buildDynamicHosts (nodeSettings , 1 );
205
200
});
206
201
assertThat (exception .getMessage (), containsString ("does_not_exist is unknown for discovery.ec2.host_type" ));
207
202
}
@@ -227,8 +222,8 @@ public void testFilterByTags() throws InterruptedException {
227
222
}
228
223
229
224
logger .info ("started [{}] instances with [{}] stage=prod tag" , nodes , prodInstances );
230
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes , tagsList );
231
- assertThat (discoveryNodes , hasSize (prodInstances ));
225
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes , tagsList );
226
+ assertThat (dynamicHosts , hasSize (prodInstances ));
232
227
}
233
228
234
229
public void testFilterByMultipleTags () throws InterruptedException {
@@ -258,8 +253,8 @@ public void testFilterByMultipleTags() throws InterruptedException {
258
253
}
259
254
260
255
logger .info ("started [{}] instances with [{}] stage=prod tag" , nodes , prodInstances );
261
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes , tagsList );
262
- assertThat (discoveryNodes , hasSize (prodInstances ));
256
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes , tagsList );
257
+ assertThat (dynamicHosts , hasSize (prodInstances ));
263
258
}
264
259
265
260
public void testReadHostFromTag () throws InterruptedException , UnknownHostException {
@@ -285,11 +280,11 @@ public void testReadHostFromTag() throws InterruptedException, UnknownHostExcept
285
280
}
286
281
287
282
logger .info ("started [{}] instances" , nodes );
288
- List <DiscoveryNode > discoveryNodes = buildDynamicNodes (nodeSettings , nodes , tagsList );
289
- assertThat (discoveryNodes , hasSize (nodes ));
290
- for ( DiscoveryNode discoveryNode : discoveryNodes ) {
291
- TransportAddress address = discoveryNode . getAddress ();
292
- TransportAddress expected = poorMansDNS .get (discoveryNode . getName () );
283
+ List <TransportAddress > dynamicHosts = buildDynamicHosts (nodeSettings , nodes , tagsList );
284
+ assertThat (dynamicHosts , hasSize (nodes ));
285
+ int node = 1 ;
286
+ for ( TransportAddress address : dynamicHosts ) {
287
+ TransportAddress expected = poorMansDNS .get ("node" + node ++ );
293
288
assertEquals (address , expected );
294
289
}
295
290
}
@@ -306,13 +301,13 @@ public void testGetNodeListEmptyCache() throws Exception {
306
301
AwsEc2Service awsEc2Service = new AwsEc2ServiceMock (Settings .EMPTY , 1 , null );
307
302
DummyEc2HostProvider provider = new DummyEc2HostProvider (Settings .EMPTY , transportService , awsEc2Service ) {
308
303
@ Override
309
- protected List <DiscoveryNode > fetchDynamicNodes () {
304
+ protected List <TransportAddress > fetchDynamicNodes () {
310
305
fetchCount ++;
311
306
return new ArrayList <>();
312
307
}
313
308
};
314
309
for (int i =0 ; i <3 ; i ++) {
315
- provider .buildDynamicNodes ();
310
+ provider .buildDynamicHosts ();
316
311
}
317
312
assertThat (provider .fetchCount , is (3 ));
318
313
}
@@ -323,18 +318,18 @@ public void testGetNodeListCached() throws Exception {
323
318
try (Ec2DiscoveryPluginMock plugin = new Ec2DiscoveryPluginMock (Settings .EMPTY )) {
324
319
DummyEc2HostProvider provider = new DummyEc2HostProvider (builder .build (), transportService , plugin .ec2Service ) {
325
320
@ Override
326
- protected List <DiscoveryNode > fetchDynamicNodes () {
321
+ protected List <TransportAddress > fetchDynamicNodes () {
327
322
fetchCount ++;
328
- return Ec2DiscoveryTests .this .buildDynamicNodes (Settings .EMPTY , 1 );
323
+ return Ec2DiscoveryTests .this .buildDynamicHosts (Settings .EMPTY , 1 );
329
324
}
330
325
};
331
326
for (int i =0 ; i <3 ; i ++) {
332
- provider .buildDynamicNodes ();
327
+ provider .buildDynamicHosts ();
333
328
}
334
329
assertThat (provider .fetchCount , is (1 ));
335
330
Thread .sleep (1_000L ); // wait for cache to expire
336
331
for (int i =0 ; i <3 ; i ++) {
337
- provider .buildDynamicNodes ();
332
+ provider .buildDynamicHosts ();
338
333
}
339
334
assertThat (provider .fetchCount , is (2 ));
340
335
}
0 commit comments