Even when public ssh key is not set by the user, CloudSigma's server
context has a key `meta.ssh_public_key` which is just an empty string.
So instead of just relying on the "comma ok" idiom I make sure the value
is not an empty string.
AWS hostname metadata will return space seperated hostname and domain
names when DHCPOptionSet is using multiple domain names. This patch will
cater for this scenario.
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.