Shorten metadata timeout
When running in travis, metadata requests will timeout after 5 seconds. After 24 such timeouts, we'll hit travis' build timeout of two minutes, and the build will fail. Lowering it to 100 gets us in a safe time limit. We _may_ need to expose a timeout env var with this logic, however.
This commit is contained in:
parent
314fc94bd8
commit
d322fc6c19
|
@ -4,11 +4,13 @@ import (
|
|||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go/aws"
|
||||
"github.com/aws/aws-sdk-go/aws/credentials"
|
||||
"github.com/aws/aws-sdk-go/aws/ec2metadata"
|
||||
"github.com/aws/aws-sdk-go/aws/session"
|
||||
"github.com/hashicorp/go-cleanhttp"
|
||||
"github.com/hashicorp/packer/template/interpolate"
|
||||
)
|
||||
|
||||
|
@ -86,8 +88,13 @@ func (c *AccessConfig) region() string {
|
|||
return c.RawRegion
|
||||
}
|
||||
|
||||
sess := session.New()
|
||||
ec2meta := ec2metadata.New(sess)
|
||||
client := cleanhttp.DefaultClient()
|
||||
|
||||
// Keep the default timeout (100ms) low as we don't want to wait in non-EC2 environments
|
||||
client.Timeout = 100 * time.Millisecond
|
||||
ec2meta := ec2metadata.New(session.New(), &aws.Config{
|
||||
HTTPClient: client,
|
||||
})
|
||||
region, err := ec2meta.Region()
|
||||
if err != nil {
|
||||
log.Println("Error getting region from metadata service, "+
|
||||
|
|
Loading…
Reference in New Issue