WARNING:INSTANCE i-39AC0623: File "/usr/lib/python2.6/dist-packages/cloudinit/DataSourceEc2.py", line 64, in get_instance_id
WARNING:INSTANCE i-39AC0623: return(self.metadata['instance-id'])
That indicates that somehow, the 'metadata' member of self (DataSourceEc2.py) does not have an 'instance-id' field.
That field gets populated in cloudinit/DataSourceEc2.py's get_data, which does something like:
try:
if not self.wait_for_metadata_service(): return False self.userdata_raw = boto_utils.get_instance_userdata(self.api_ver) self.metadata = boto_utils.get_instance_metadata(self.api_ver)
return True
self.wait_for_metadata_service is an attempt to make sure the metadata service is up before calling boto's get_instance_userdata and get_instance_metadata methods to populate the members.
both of get_instance_userdata and get_instance_metadata also take precautions to wait on the metadata service. So, it appears that the metadata service was correctly parsed / crawled by boto, and that it did not have an 'instance-id' field .
ugh.
I'm somewhat baffled on how this can happen.
WARNING:INSTANCE i-39AC0623: File "/usr/lib/ python2. 6/dist- packages/ cloudinit/ DataSourceEc2. py", line 64, in get_instance_id self.metadata[ 'instance- id'])
WARNING:INSTANCE i-39AC0623: return(
That indicates that somehow, the 'metadata' member of self (DataSourceEc2.py) does not have an 'instance-id' field.
That field gets populated in cloudinit/ DataSourceEc2. py's get_data, which does something like:
try: for_metadata_ service( ):
return False
self. userdata_ raw = boto_utils. get_instance_ userdata( self.api_ ver)
self. metadata = boto_utils. get_instance_ metadata( self.api_ ver)
if not self.wait_
return True
self.wait_ for_metadata_ service is an attempt to make sure the metadata service is up before calling boto's get_instance_ userdata and get_instance_ metadata methods to populate the members.
both of get_instance_ userdata and get_instance_ metadata also take precautions to wait on the metadata service. So, it appears that the metadata service was correctly parsed / crawled by boto, and that it did not have an 'instance-id' field .