From 83ba677e7f565348e69fd91f7b625f2990a7656c Mon Sep 17 00:00:00 2001 From: Ryan Ernst <ryan@iernst.net> Date: Fri, 7 Apr 2017 22:06:40 -0700 Subject: [PATCH] Discovery EC2: Remove region setting (#23991) We have both endpoint and region settings. Region was removed from s3 to simplify configuration. This is the ec2 equivalent. closes #22758 --- .../migration/migrate_6_0/plugins.asciidoc | 3 + .../discovery/ec2/AwsEc2Service.java | 11 ---- .../discovery/ec2/AwsEc2ServiceImpl.java | 66 ------------------- .../discovery/ec2/Ec2DiscoveryPlugin.java | 2 - .../discovery/ec2/AwsEc2ServiceImplTests.java | 37 ----------- .../ec2/Ec2DiscoverySettingsTests.java | 7 -- 6 files changed, 3 insertions(+), 123 deletions(-) diff --git a/docs/reference/migration/migrate_6_0/plugins.asciidoc b/docs/reference/migration/migrate_6_0/plugins.asciidoc index e5861887cda..29b63b3aa4f 100644 --- a/docs/reference/migration/migrate_6_0/plugins.asciidoc +++ b/docs/reference/migration/migrate_6_0/plugins.asciidoc @@ -39,3 +39,6 @@ See {plugins}/repository-azure-usage.html#repository-azure-repository-settings[A ==== EC2 Discovery plugin * Specifying ec2 signer type has been removed, including `cloud.aws.signer` and `cloud.aws.ec2.signer`. + +* The region setting has been removed. This includes the settings `cloud.aws.region` +and `cloud.aws.ec2.region`. Instead, specify the full endpoint. diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2Service.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2Service.java index df5debda02b..21baa8fee1e 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2Service.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2Service.java @@ -76,11 +76,6 @@ interface AwsEc2Service { */ Setting<SecureString> PROXY_PASSWORD_SETTING = new Setting<>("cloud.aws.proxy.password", "", SecureString::new, Property.NodeScope, Property.Filtered, Property.Shared, Property.Deprecated); - /** - * cloud.aws.region: Region. Shared with repository-s3 plugin - */ - Setting<String> REGION_SETTING = - new Setting<>("cloud.aws.region", "", s -> s.toLowerCase(Locale.ROOT), Property.NodeScope, Property.Shared, Property.Deprecated); /** * cloud.aws.read_timeout: Socket read timeout. Shared with repository-s3 plugin */ @@ -136,12 +131,6 @@ interface AwsEc2Service { */ Setting<SecureString> PROXY_PASSWORD_SETTING = new Setting<>("cloud.aws.ec2.proxy.password", AwsEc2Service.PROXY_PASSWORD_SETTING, SecureString::new, Property.NodeScope, Property.Filtered, Property.Deprecated); - /** - * cloud.aws.ec2.region: Region specific for EC2 API calls. Defaults to cloud.aws.region. - * @see AwsEc2Service#REGION_SETTING - */ - Setting<String> REGION_SETTING = new Setting<>("cloud.aws.ec2.region", AwsEc2Service.REGION_SETTING, - s -> s.toLowerCase(Locale.ROOT), Property.NodeScope, Property.Deprecated); /** * cloud.aws.ec2.endpoint: Endpoint. If not set, endpoint will be guessed based on region setting. */ diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImpl.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImpl.java index 4aa9ec7adb4..80e4d68949f 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImpl.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImpl.java @@ -131,72 +131,6 @@ class AwsEc2ServiceImpl extends AbstractComponent implements AwsEc2Service, Clos if (DISCOVERY_EC2.ENDPOINT_SETTING.exists(settings) || CLOUD_EC2.ENDPOINT_SETTING.exists(settings)) { endpoint = DISCOVERY_EC2.ENDPOINT_SETTING.get(settings); logger.debug("using explicit ec2 endpoint [{}]", endpoint); - } else if (REGION_SETTING.exists(settings) || CLOUD_EC2.REGION_SETTING.exists(settings)) { - final String region = CLOUD_EC2.REGION_SETTING.get(settings); - switch (region) { - case "us-east-1": - case "us-east": - endpoint = "ec2.us-east-1.amazonaws.com"; - break; - case "us-east-2": - endpoint = "ec2.us-east-2.amazonaws.com"; - break; - case "us-west": - case "us-west-1": - endpoint = "ec2.us-west-1.amazonaws.com"; - break; - case "us-west-2": - endpoint = "ec2.us-west-2.amazonaws.com"; - break; - case "ap-southeast": - case "ap-southeast-1": - endpoint = "ec2.ap-southeast-1.amazonaws.com"; - break; - case "ap-south": - case "ap-south-1": - endpoint = "ec2.ap-south-1.amazonaws.com"; - break; - case "us-gov-west": - case "us-gov-west-1": - endpoint = "ec2.us-gov-west-1.amazonaws.com"; - break; - case "ap-southeast-2": - endpoint = "ec2.ap-southeast-2.amazonaws.com"; - break; - case "ap-northeast": - case "ap-northeast-1": - endpoint = "ec2.ap-northeast-1.amazonaws.com"; - break; - case "ap-northeast-2": - endpoint = "ec2.ap-northeast-2.amazonaws.com"; - break; - case "eu-west": - case "eu-west-1": - endpoint = "ec2.eu-west-1.amazonaws.com"; - break; - case "eu-west-2": - endpoint = "ec2.eu-west-2.amazonaws.com"; - break; - case "eu-central": - case "eu-central-1": - endpoint = "ec2.eu-central-1.amazonaws.com"; - break; - case "sa-east": - case "sa-east-1": - endpoint = "ec2.sa-east-1.amazonaws.com"; - break; - case "cn-north": - case "cn-north-1": - endpoint = "ec2.cn-north-1.amazonaws.com.cn"; - break; - case "ca-central": - case "ca-central-1": - endpoint = "ec2.ca-central-1.amazonaws.com"; - break; - default: - throw new IllegalArgumentException("No automatic endpoint could be derived from region [" + region + "]"); - } - logger.debug("using ec2 region [{}], with endpoint [{}]", region, endpoint); } return endpoint; } diff --git a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryPlugin.java b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryPlugin.java index 29babbbeef3..9a871ad5502 100644 --- a/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryPlugin.java +++ b/plugins/discovery-ec2/src/main/java/org/elasticsearch/discovery/ec2/Ec2DiscoveryPlugin.java @@ -127,7 +127,6 @@ public class Ec2DiscoveryPlugin extends Plugin implements DiscoveryPlugin, Close AwsEc2Service.PROXY_PORT_SETTING, AwsEc2Service.PROXY_USERNAME_SETTING, AwsEc2Service.PROXY_PASSWORD_SETTING, - AwsEc2Service.REGION_SETTING, AwsEc2Service.READ_TIMEOUT, // Register EC2 specific settings: cloud.aws.ec2 AwsEc2Service.CLOUD_EC2.KEY_SETTING, @@ -137,7 +136,6 @@ public class Ec2DiscoveryPlugin extends Plugin implements DiscoveryPlugin, Close AwsEc2Service.CLOUD_EC2.PROXY_PORT_SETTING, AwsEc2Service.CLOUD_EC2.PROXY_USERNAME_SETTING, AwsEc2Service.CLOUD_EC2.PROXY_PASSWORD_SETTING, - AwsEc2Service.CLOUD_EC2.REGION_SETTING, AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING, AwsEc2Service.CLOUD_EC2.READ_TIMEOUT, // Register EC2 discovery settings: discovery.ec2 diff --git a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImplTests.java b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImplTests.java index 13693414bdf..0f126887d0a 100644 --- a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImplTests.java +++ b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/AwsEc2ServiceImplTests.java @@ -210,41 +210,4 @@ public class AwsEc2ServiceImplTests extends ESTestCase { AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING }); } - - public void testRegionWithAwsSettings() { - Settings settings = Settings.builder() - .put(AwsEc2Service.REGION_SETTING.getKey(), randomFrom("eu-west", "eu-west-1")) - .build(); - String endpoint = AwsEc2ServiceImpl.findEndpoint(logger, settings); - assertThat(endpoint, is("ec2.eu-west-1.amazonaws.com")); - assertSettingDeprecationsAndWarnings(new Setting<?>[] { - AwsEc2Service.REGION_SETTING - }); - } - - public void testRegionWithAwsAndEc2Settings() { - Settings settings = Settings.builder() - .put(AwsEc2Service.REGION_SETTING.getKey(), randomFrom("eu-west", "eu-west-1")) - .put(AwsEc2Service.CLOUD_EC2.REGION_SETTING.getKey(), randomFrom("us-west", "us-west-1")) - .build(); - String endpoint = AwsEc2ServiceImpl.findEndpoint(logger, settings); - assertThat(endpoint, is("ec2.us-west-1.amazonaws.com")); - assertSettingDeprecationsAndWarnings(new Setting<?>[] { - AwsEc2Service.REGION_SETTING, - AwsEc2Service.CLOUD_EC2.REGION_SETTING - }); - } - - public void testInvalidRegion() { - Settings settings = Settings.builder() - .put(AwsEc2Service.REGION_SETTING.getKey(), "does-not-exist") - .build(); - IllegalArgumentException e = expectThrows(IllegalArgumentException.class, () -> { - AwsEc2ServiceImpl.findEndpoint(logger, settings); - }); - assertThat(e.getMessage(), containsString("No automatic endpoint could be derived from region")); - assertSettingDeprecationsAndWarnings(new Setting<?>[] { - AwsEc2Service.REGION_SETTING - }); - } } diff --git a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoverySettingsTests.java b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoverySettingsTests.java index fa287bef712..7918a50da3a 100644 --- a/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoverySettingsTests.java +++ b/plugins/discovery-ec2/src/test/java/org/elasticsearch/discovery/ec2/Ec2DiscoverySettingsTests.java @@ -37,7 +37,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { .put(AwsEc2Service.PROXY_PORT_SETTING.getKey(), 10000) .put(AwsEc2Service.PROXY_USERNAME_SETTING.getKey(), "global-proxy-username") .put(AwsEc2Service.PROXY_PASSWORD_SETTING.getKey(), "global-proxy-password") - .put(AwsEc2Service.REGION_SETTING.getKey(), "global-region") .build(); private static final Settings EC2 = Settings.builder() @@ -48,7 +47,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { .put(AwsEc2Service.CLOUD_EC2.PROXY_PORT_SETTING.getKey(), 20000) .put(AwsEc2Service.CLOUD_EC2.PROXY_USERNAME_SETTING.getKey(), "ec2-proxy-username") .put(AwsEc2Service.CLOUD_EC2.PROXY_PASSWORD_SETTING.getKey(), "ec2-proxy-password") - .put(AwsEc2Service.CLOUD_EC2.REGION_SETTING.getKey(), "ec2-region") .put(AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING.getKey(), "ec2-endpoint") .build(); @@ -64,7 +62,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { assertThat(AwsEc2Service.CLOUD_EC2.PROXY_PORT_SETTING.get(nodeSettings), is(10000)); assertThat(AwsEc2Service.CLOUD_EC2.PROXY_USERNAME_SETTING.get(nodeSettings), is("global-proxy-username")); assertThat(AwsEc2Service.CLOUD_EC2.PROXY_PASSWORD_SETTING.get(nodeSettings), is("global-proxy-password")); - assertThat(AwsEc2Service.CLOUD_EC2.REGION_SETTING.get(nodeSettings), is("global-region")); assertThat(AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING.get(nodeSettings), isEmptyString()); assertSettingDeprecationsAndWarnings(new Setting<?>[] { AwsEc2Service.KEY_SETTING, @@ -74,7 +71,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { AwsEc2Service.PROXY_PORT_SETTING, AwsEc2Service.PROXY_USERNAME_SETTING, AwsEc2Service.PROXY_PASSWORD_SETTING, - AwsEc2Service.REGION_SETTING }); } @@ -90,7 +86,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { assertThat(AwsEc2Service.CLOUD_EC2.PROXY_PORT_SETTING.get(nodeSettings), is(20000)); assertThat(AwsEc2Service.CLOUD_EC2.PROXY_USERNAME_SETTING.get(nodeSettings), is("ec2-proxy-username")); assertThat(AwsEc2Service.CLOUD_EC2.PROXY_PASSWORD_SETTING.get(nodeSettings), is("ec2-proxy-password")); - assertThat(AwsEc2Service.CLOUD_EC2.REGION_SETTING.get(nodeSettings), is("ec2-region")); assertThat(AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING.get(nodeSettings), is("ec2-endpoint")); assertSettingDeprecationsAndWarnings(new Setting<?>[] { AwsEc2Service.KEY_SETTING, @@ -100,7 +95,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { AwsEc2Service.PROXY_PORT_SETTING, AwsEc2Service.PROXY_USERNAME_SETTING, AwsEc2Service.PROXY_PASSWORD_SETTING, - AwsEc2Service.REGION_SETTING, AwsEc2Service.CLOUD_EC2.KEY_SETTING, AwsEc2Service.CLOUD_EC2.SECRET_SETTING, AwsEc2Service.CLOUD_EC2.PROTOCOL_SETTING, @@ -108,7 +102,6 @@ public class Ec2DiscoverySettingsTests extends ESTestCase { AwsEc2Service.CLOUD_EC2.PROXY_PORT_SETTING, AwsEc2Service.CLOUD_EC2.PROXY_USERNAME_SETTING, AwsEc2Service.CLOUD_EC2.PROXY_PASSWORD_SETTING, - AwsEc2Service.CLOUD_EC2.REGION_SETTING, AwsEc2Service.CLOUD_EC2.ENDPOINT_SETTING }); }