AWS: Eucalyptus 4.x compatibility fix

For Eucalyptus 4.0.1 requesting metadata seem to work differently as with EC2.

In Euca:
> curl http://169.254.169.254/2009-04-04
<?xml version="1.0"?><Response><Errors><Error><Code>404 Not Found</Code><Message>unknown</Message></Error></Errors><RequestID>unknown</RequestID></Response>core@localhost ~ $

> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data

In AWS EC2
> curl http://169.254.169.254/2009-04-04
"" (zero bytes)

> curl http://169.254.169.254/2009-04-04/
dynamic
meta-data
user-data

As the isAvailable() function in metadata.go tests only for errorcode
it fails in Euca.
This commit is contained in:
Janne Paenkaelae 2014-09-24 20:33:29 +03:00
parent cdfc94f4e9
commit 2f954dcdc2

View File

@ -13,9 +13,9 @@ import (
const ( const (
DefaultAddress = "http://169.254.169.254/" DefaultAddress = "http://169.254.169.254/"
apiVersion = "2009-04-04" apiVersion = "2009-04-04/"
userdataPath = apiVersion + "/user-data" userdataPath = apiVersion + "user-data"
metadataPath = apiVersion + "/meta-data" metadataPath = apiVersion + "meta-data"
) )
type metadataService struct { type metadataService struct {