diff --git a/builtin/providers/aws/config.go b/builtin/providers/aws/config.go index dda107bb0e16..e7c7628dc412 100644 --- a/builtin/providers/aws/config.go +++ b/builtin/providers/aws/config.go @@ -346,37 +346,27 @@ func getCreds(key, secret, token string) *awsCredentials.Credentials { // to the metadata service within a reasonable amount of time metadataURL := os.Getenv("AWS_METADATA_URL") if metadataURL == "" { - metadataURL = "169.254.169.254:80" + metadataURL = "http://169.254.169.254:80/latest" } c := http.Client{ Timeout: 100 * time.Millisecond, } - log.Printf("\n---\nMetadata: %#v\n---\n", metadataURL) - r, err := c.Get(metadataURL + "/latest/meta-data") + r, err := c.Get(metadataURL) var useIAM bool - if r != nil { - log.Printf("\n---\nHeaders: %#v\n---\n", r.Header) - } if err == nil { - server := r.Header["Server"] - if server == nil { - log.Printf("\n\t--- is nil") - } else { - log.Printf("\n\t--- is NOT nil") - } - - // log.Printf("\n---\nServer in errnil: %#v\n---\n", server) if r.Header["Server"] != nil && strings.Contains(r.Header["Server"][0], "EC2") { useIAM = true } - } else { - log.Printf("\n---\nerr is not nil: %s\n---\n", err) } if useIAM { log.Printf("[DEBUG] EC2 Metadata service found, adding EC2 Role Credential Provider") - providers = append(providers, &ec2rolecreds.EC2RoleProvider{Client: ec2metadata.New(session.New(&aws.Config{Endpoint: aws.String(metadataURL)}))}) + providers = append(providers, &ec2rolecreds.EC2RoleProvider{ + Client: ec2metadata.New(session.New(&aws.Config{ + Endpoint: aws.String(metadataURL), + })), + }) } else { log.Printf("[DEBUG] EC2 Metadata service not found, not adding EC2 Role Credential Provider") } diff --git a/builtin/providers/aws/config_test.go b/builtin/providers/aws/config_test.go index 5661b7a0e470..316bf1893975 100644 --- a/builtin/providers/aws/config_test.go +++ b/builtin/providers/aws/config_test.go @@ -256,7 +256,7 @@ func awsEnv(t *testing.T) func() { } })) - os.Setenv("AWS_METADATA_URL", ts.URL) + os.Setenv("AWS_METADATA_URL", ts.URL+"/latest") return ts.Close } @@ -287,11 +287,11 @@ const aws_routes = ` { "endpoints": [ { - "uri": "/meta-data/iam/security-credentials", + "uri": "/latest/meta-data/iam/security-credentials", "body": "test_role" }, { - "uri": "/meta-data/iam/security-credentials/test_role", + "uri": "/latest/meta-data/iam/security-credentials/test_role", "body": "{\"Code\":\"Success\",\"LastUpdated\":\"2015-12-11T17:17:25Z\",\"Type\":\"AWS-HMAC\",\"AccessKeyId\":\"somekey\",\"SecretAccessKey\":\"somesecret\",\"Token\":\"sometoken\"}" } ]